Re: [PATCH 1/2] thermal/core: fix potential memory leak

From: Rafael J. Wysocki
Date: Tue Aug 22 2023 - 15:11:22 EST


On Wed, Jul 19, 2023 at 3:12 AM Peng Fan (OSS) <peng.fan@xxxxxxxxxxx> wrote:
>
> From: Peng Fan <peng.fan@xxxxxxx>
>
> thermal_set_governor may allocate memory for tz->governor_data, so
> need free it in failure handling path.
>
> Addresses-Coverity: 25777220 ("Memory leak")
> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> ---
> drivers/thermal/thermal_core.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
> index 842f678c1c3e..f633924406ad 100644
> --- a/drivers/thermal/thermal_core.c
> +++ b/drivers/thermal/thermal_core.c
> @@ -1355,6 +1355,9 @@ thermal_zone_device_register_with_trips(const char *type, struct thermal_trip *t
> return tz;
>
> unregister:
> + if (tz->governor && tz->governor->unbind_from_tz)
> + tz->governor->unbind_from_tz(tz);

It looks like thermal_governor_lock should be held around this, shouldn't it?

> +
> device_del(&tz->device);
> release_device:
> put_device(&tz->device);
> --
> 2.37.1
>