Message ID | 20220108154947.136593-1-hdegoede@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | platform/x86: x86-android-tablets: Fix GPIO lookup leak on error-exit | expand |
Hi, On 1/8/22 16:49, Hans de Goede wrote: > 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 <hdegoede@redhat.com> I've added this to my review-hans (soon to be for-next) branch now. Regards, Hans > --- > 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 d39da5fca6c5..3ba63ad91b28 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++) { >
diff --git a/drivers/platform/x86/x86-android-tablets.c b/drivers/platform/x86/x86-android-tablets.c index d39da5fca6c5..3ba63ad91b28 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++) {
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 <hdegoede@redhat.com> --- drivers/platform/x86/x86-android-tablets.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)