thermal: of: fix double-free on unregistration
authorAhmad Fatoum <a.fatoum@pengutronix.de>
Sat, 8 Jul 2023 11:27:20 +0000 (13:27 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 24 Jul 2023 07:51:31 +0000 (09:51 +0200)
commitac4436a5b20e0ef1f608a9ef46c08d5d142f8da6
tree6edd068712e4033e455061612bd9ab648f7d1827
parent80ddce5f2dbd0e83eadc9f9d373439180d599fe5
thermal: of: fix double-free on unregistration

Since commit 3d439b1a2ad3 ("thermal/core: Alloc-copy-free the thermal
zone parameters structure"), thermal_zone_device_register() allocates
a copy of the tzp argument and frees it when unregistering, so
thermal_of_zone_register() now ends up leaking its original tzp and
double-freeing the tzp copy. Fix this by locating tzp on stack instead.

Fixes: 3d439b1a2ad3 ("thermal/core: Alloc-copy-free the thermal zone parameters structure")
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: 6.4+ <stable@vger.kernel.org> # 6.4+: 8bcbb18c61d6: thermal: core: constify params in thermal_zone_device_register
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/thermal_of.c