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

Message ID 20230724071646.2744900-2-peng.fan@oss.nxp.com
State New
Headers
Series thermal: fix two coverity reported issues |

Commit Message

Peng Fan (OSS) July 24, 2023, 7:16 a.m. UTC
  From: Peng Fan <peng.fan@nxp.com>

thermal_set_governor will allocate memory for tz->governor_data by
calling power_allocator_bind, so need free it in failure handling path.

Addresses-Coverity: 25777220 ("Memory leak")
Fixes: e33df1d2f3a0 ("thermal: let governors have private data for each thermal zone")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/thermal/thermal_core.c | 3 +++
 1 file changed, 3 insertions(+)
  

Patch

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index cc2b5e81c620..fe5eef149695 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);