From 02fb09459435add44bb00191ce9b040c6b4f3aae Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 8 Jan 2022 16:49:47 +0100 Subject: [PATCH] platform/x86: x86-android-tablets: Fix GPIO lookup leak on error-exit Fix leaking the registered gpiod_lookup tables when the kcalloc() for the i2c_clients array fails. Fixes: ef2ac11493e2 ("platform/x86: x86-android-tablets: Add support for registering GPIO lookup tables") Signed-off-by: Hans de Goede Link: https://lore.kernel.org/r/20220108154947.136593-1-hdegoede@redhat.com --- drivers/platform/x86/x86-android-tablets.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/platform/x86/x86-android-tablets.c b/drivers/platform/x86/x86-android-tablets.c index d39da5f..3ba63ad 100644 --- a/drivers/platform/x86/x86-android-tablets.c +++ b/drivers/platform/x86/x86-android-tablets.c @@ -815,8 +815,10 @@ static __init int x86_android_tablet_init(void) gpiod_add_lookup_table(gpiod_lookup_tables[i]); i2c_clients = kcalloc(dev_info->i2c_client_count, sizeof(*i2c_clients), GFP_KERNEL); - if (!i2c_clients) + if (!i2c_clients) { + x86_android_tablet_cleanup(); return -ENOMEM; + } i2c_client_count = dev_info->i2c_client_count; for (i = 0; i < i2c_client_count; i++) { -- 2.7.4