On Mon, Aug 19, 2019 at 04:00:02PM -0500, Wenwen Wang wrote: > In coretemp_init(), 'zone_devices' is allocated through kcalloc(). However, > it is not deallocated in the following execution if > platform_driver_register() fails, leading to a memory leak. To fix this > issue, introduce the 'outzone' label to free 'zone_devices' before > returning the error. > > Signed-off-by: Wenwen Wang <wenwen@xxxxxxxxxx> Applied. Thanks, Guenter > --- > drivers/hwmon/coretemp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c > index fe6618e..d855c78 100644 > --- a/drivers/hwmon/coretemp.c > +++ b/drivers/hwmon/coretemp.c > @@ -736,7 +736,7 @@ static int __init coretemp_init(void) > > err = platform_driver_register(&coretemp_driver); > if (err) > - return err; > + goto outzone; > > err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "hwmon/coretemp:online", > coretemp_cpu_online, coretemp_cpu_offline); > @@ -747,6 +747,7 @@ static int __init coretemp_init(void) > > outdrv: > platform_driver_unregister(&coretemp_driver); > +outzone: > kfree(zone_devices); > return err; > }