summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorGuenter Roeck <linux@roeck-us.net>2026-05-14 14:31:49 -0700
committerGuenter Roeck <linux@roeck-us.net>2026-05-16 08:09:55 -0700
commitb09a45601094c7f4ec4db8090b825fa61e169d93 (patch)
tree07b6c47b639461cfabaf34117b00fd9f2662c51b /tools/perf/scripts/python
parent51f57607e30bee282a1d40845f89a311cbb26481 (diff)
downloadlinux-b09a45601094c7f4ec4db8090b825fa61e169d93.tar.gz
linux-b09a45601094c7f4ec4db8090b825fa61e169d93.zip
hwmon: (lm90) Stop work before releasing hwmon device
Sashiko reports: In lm90_probe(), the devm action to cancel the alert_work and report_work (lm90_restore_conf) is registered in lm90_init_client() before devm_hwmon_device_register_with_info() is called. Because devm executes cleanup actions in reverse order during module unbind or probe failure, the hwmon device is unregistered and freed first. If lm90_alert_work() or lm90_report_alarms() runs in the window between the hwmon device being freed and the delayed works being cancelled, lm90_update_alarms() will dereference the freed data->hwmon_dev here. Fix the problem by canceling the workers separately after registering the hwmon device and before registering the interrupt handler. This ensures that the workers are canceled after interrupts are disabled and before the hwmon device is released. Add "shutdown" flag to indicate that device shutdown is in progress to prevent workers from being re-armed. Fixes: f6d0775119fb9 ("hwmon: (lm90) Rework alarm/status handling") Reported-by: Sashiko <sashiko-bot@kernel.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions