Skip to content

Commit 807babf

Browse files
Umang Jaingregkh
authored andcommitted
staging: vchiq_arm: Use devm_kzalloc() for drv_mgmt allocation
The struct drv_mgmt 'mgmt' is currently allocated dynamically using kzalloc(). Unfortunately, it is subjected to memory leaks in the error handling paths of the probe() function. To address this issue, use device resource management helper devm_kzalloc(), to ensure cleanup after the allocation. Cc: stable@vger.kernel.org Fixes: 1c9e16b ("staging: vc04_services: vchiq_arm: Split driver static and runtime data") Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://lore.kernel.org/r/20241016130225.61024-3-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 404b739 commit 807babf

File tree

1 file changed

+1
-3
lines changed
  • drivers/staging/vc04_services/interface/vchiq_arm

1 file changed

+1
-3
lines changed

drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1731,7 +1731,7 @@ static int vchiq_probe(struct platform_device *pdev)
17311731
return -ENOENT;
17321732
}
17331733

1734-
mgmt = kzalloc(sizeof(*mgmt), GFP_KERNEL);
1734+
mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL);
17351735
if (!mgmt)
17361736
return -ENOMEM;
17371737

@@ -1789,8 +1789,6 @@ static void vchiq_remove(struct platform_device *pdev)
17891789

17901790
arm_state = vchiq_platform_get_arm_state(&mgmt->state);
17911791
kthread_stop(arm_state->ka_thread);
1792-
1793-
kfree(mgmt);
17941792
}
17951793

17961794
static struct platform_driver vchiq_driver = {

0 commit comments

Comments
 (0)