Messages in this thread Patch in this message | | | From | Johan Hovold <> | Subject | [PATCH RESEND] ARM: mmp: fix platform-device leak on registration errors | Date | Mon, 20 Jun 2022 16:14:06 +0200 |
| |
Make sure to free the platform device also in the event that registration fails.
Fixes: 49cbe78637eb ("[ARM] pxa: add base support for Marvell's PXA168 processor line") Cc: stable@vger.kernel.org # 2.6.30 Signed-off-by: Johan Hovold <johan@kernel.org> ---
It's been almost four months so resending.
Arnd, can you pick this one up if Lubomir isn't around anymore?
Johan
arch/arm/mach-mmp/devices.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/arch/arm/mach-mmp/devices.c b/arch/arm/mach-mmp/devices.c index 79f4a2aa5475..dfb072d788ff 100644 --- a/arch/arm/mach-mmp/devices.c +++ b/arch/arm/mach-mmp/devices.c @@ -53,20 +53,25 @@ int __init mmp_register_device(struct mmp_device_desc *desc, } ret = platform_device_add_resources(pdev, res, nres); - if (ret) { - platform_device_put(pdev); - return ret; - } + if (ret) + goto err_put_device; if (data && size) { ret = platform_device_add_data(pdev, data, size); - if (ret) { - platform_device_put(pdev); - return ret; - } + if (ret) + goto err_put_device; } - return platform_device_add(pdev); + ret = platform_device_add(pdev); + if (ret) + goto err_put_device; + + return 0; + +err_put_device: + platform_device_put(pdev); + + return ret; } #if IS_ENABLED(CONFIG_USB) || IS_ENABLED(CONFIG_USB_GADGET) -- 2.35.1
| |