diff options
| author | Thomas Weißschuh <linux@weissschuh.net> | 2024-06-04 23:41:24 +0200 |
|---|---|---|
| committer | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2024-06-07 16:18:35 +0300 |
| commit | dd637f5cd5f334d2d014872544470031415cec3b (patch) | |
| tree | f374fdda141554ac62a2f861e08df16b791ba182 /drivers/usb/cdns3/cdns3-debug.h | |
| parent | 4894c364d502d44d7979d272aa49e3ffaf12f05c (diff) | |
platform/x86: dell-pc: avoid double free and invalid unregistration
If platform_profile_register() fails it does kfree(thermal_handler) and
leaves the pointer value around.
Any call to thermal_cleanup() will try to kfree(thermal_handler) again.
This will happen right away in dell_init().
In addition, platform_profile_remove() will be called although no
profile is registered.
NULL out the thermal_handler, so thermal_cleanup() avoids the double free.
Fixes: 996ad4129810 ("platform/x86: dell-pc: Implement platform_profile")
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Lyndon Sanche <lsanche@lyndeno.ca>
Link: https://lore.kernel.org/r/20240604-dell-pc-double-free-v1-1-6d81255b2a44@weissschuh.net
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-debug.h')
0 files changed, 0 insertions, 0 deletions
