Re: [PATCH 1/3] thermal: core: Fix a memory leak in 'thermal_zone_device_register()' error handling path

From: Zhang Rui
Date: Tue Aug 08 2017 - 04:38:34 EST


On Sun, 2017-07-16 at 08:59 +0200, Christophe JAILLET wrote:
> 'tz' is freed in some error handling paths but not in the main one.
> So free it also here to avoid a memory leak.
>
After device registered, tz is freed in thermal_release().

thanks,
rui
> Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
> ---
> Âdrivers/thermal/thermal_core.c | 1 +
> Â1 file changed, 1 insertion(+)
>
> diff --git a/drivers/thermal/thermal_core.c
> b/drivers/thermal/thermal_core.c
> index 5a51c740e372..9743f3e65eb0 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1296,6 +1296,7 @@ thermal_zone_device_register(const char *type,
> int trips, int mask,
> Âunregister:
> Â ida_simple_remove(&thermal_tz_ida, tz->id);
> Â device_unregister(&tz->device);
> + kfree(tz);
> Â return ERR_PTR(result);
> Â}
> ÂEXPORT_SYMBOL_GPL(thermal_zone_device_register);