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

From: Peng Fan (OSS)
Date: Tue Jul 18 2023 - 21:12:03 EST


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);
+
device_del(&tz->device);
release_device:
put_device(&tz->device);
--
2.37.1