Commit 202c0891 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

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: 0589e888 ("drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb")
Fixes: 8633ef82 ("drivers/firmware: consolidate EFI framebuffer setup for all arches")
Cc: stable@vger.kernel.org      # 5.14
Cc: Miaoqian Lin <linmq006@gmail.com>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20220303180519.3117-1-johan@kernel.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b850b7a8
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -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) {
	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 ret;
	}

	return platform_device_add(pd);
	return ret;
}