diff options
| author | Luiz Angelo Daros de Luca <luizluca@gmail.com> | 2026-07-27 21:22:19 -0300 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2026-07-27 17:55:07 -0700 |
| commit | cb0b7f9c43b0abbd422a7e4c2c85e91db429207c (patch) | |
| tree | 3d5a3304190504cb5907425cd8131a44ddc1bab3 /tools/perf/scripts/python/export-to-sqlite.py | |
| parent | 05270bd38d9bf88a2f4c212246a8fa29f4032078 (diff) | |
hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread
When userspace configures 'auto_update_interval' to 0 via sysfs, the
background kthread executes schedule_timeout_interruptible(0), which
returns immediately.
If 'num_temp_sensors' is concurrently or previously set to 0, the
msleep_interruptible() delay inside adt7470_read_temperatures() also
becomes 0. This combination forces the background thread into a tight,
unbounded busy-loop, hogging the CPU and flooding the I2C bus with a
continuous stream of transactions.
Fix this vulnerability by raising the lower limit of the clamp_val in
auto_update_interval_store() from 0 to 500 milliseconds. This guarantees
a reasonable minimum sleep window between sensor updates, protecting the
system from intentional or accidental I2C bus denial of service.
Reported-by: sashiko-bot@kernel.org
Closes: https://lore.kernel.org/r/20260716213252.EACA71F000E9@smtp.kernel.org
Fixes: 89fac11cb3e7 ("adt7470: make automatic fan control really work")
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Link: https://lore.kernel.org/r/20260727-adt7470_fixes-v2-3-598e38a46ba6@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions
