diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2023-11-04 07:54:21 -1000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2023-11-04 07:54:21 -1000 |
commit | 3062a9879afbca810d9f1613698963ecfcb35701 (patch) | |
tree | 99525579b09e59c54a19f018b12edffa5911a326 | |
parent | 90b0c2b2edd1adff742c621e246562fbefa11b70 (diff) | |
parent | 4b27d5c420335dad7aea1aa6e799fe1d05c63b7e (diff) |
Merge tag 'acpi-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fix from Rafael Wysocki:
"Fix the acpi_thermal_add() error path that may do a double-free in
some cases after recent changes (Dan Carpenter)"
* tag 'acpi-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI: thermal: Fix acpi_thermal_unregister_thermal_zone() cleanup
-rw-r--r-- | drivers/acpi/thermal.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index d98ff69303b3..f74d81abdbfc 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -702,9 +702,9 @@ unregister_tzd: static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz) { + thermal_zone_device_disable(tz->thermal_zone); acpi_thermal_zone_sysfs_remove(tz); thermal_zone_device_unregister(tz->thermal_zone); - kfree(tz->trip_table); tz->thermal_zone = NULL; } @@ -967,7 +967,7 @@ static void acpi_thermal_remove(struct acpi_device *device) flush_workqueue(acpi_thermal_pm_queue); acpi_thermal_unregister_thermal_zone(tz); - + kfree(tz->trip_table); acpi_thermal_free_thermal_zone(tz); } |