firmware: sysfb: fix platform-device leak in error path
Subsystems (2)
PATCH 1/1 firmware: sysfb: fix platform-device leak in error path
Make sure to free the platform device also in the unlikely event that registration fails.
Fixes 0589e8889dce ("drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb")
Fixes 8633ef82f101 ("drivers/firmware: consolidate EFI framebuffer setup for all arches")
Cc [email protected] # 5.14
Cc Miaoqian Lin <[email protected]>
Cc Javier Martinez Canillas <[email protected]>
Signed-off-by Johan Hovold <[email protected]>
--- drivers/firmware/sysfb_simplefb.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-)
drivers/firmware/sysfb_simplefb.c +14 -9
@@ -113,16 +113,21 @@ __init int sysfb_create_simplefb(const struct screen_info *si,sysfb_apply_efi_quirks (pd); ret =platform_device_add_resources (pd, &res,1 ); -if (ret) { -platform_device_put (pd); -return ret; - } +if (ret) + goto err_put_device; ret =platform_device_add_data (pd, mode,sizeof (*mode)); -if (ret) { -platform_device_put (pd); -return ret; - } +if (ret) + goto err_put_device; + + ret =platform_device_add (pd); +if (ret) + goto err_put_device; + +return 0 ; + +err_put_device: +platform_device_put (pd); -return platform_device_add (pd); +return ret; }
Signature · 1 line
2.34.1