Hi Umang, Am 22.12.22 um 20:14 schrieb Umang Jain:
vchiq driver registers the child platform devices in vchiq_register_child(). However, in the registration error code path, currently the driver is leaking platform devices by not destroying the return platform device. Plug this leak using platform_device_put() as mentioned in the documentation for platform_device_register(). Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx> --- drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c index dc33490ba7fb..fc7ea7ba97b2 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -1779,6 +1779,7 @@ vchiq_register_child(struct platform_device *pdev, const char *name) child = platform_device_register_full(&pdevinfo); if (IS_ERR(child)) { dev_warn(&pdev->dev, "%s not registered\n", name); + platform_device_put(child);
why should we free an error?
child = NULL; }