Medium · published September 25, 2026
In the Linux kernel, the following vulnerability has been resolved:
EDAC/device_sysfs: Use kstrtouint() for poll_msec to prevent truncation
The poll_msec sysfs store file uses simple_strtoul() which accepts an unsigned
long, but the target field (poll_msec) is unsigned int. On 64-bit systems,
a value > UINT_MAX is silently truncated when stored.
Fix the mismatch by using kstrtouint() instead. This rejects values larger
than UINT_MAX at parse time, making truncation impossible. Also add a check
for value < 1 to reject the 0-delay case, which would cause the poll work to
spin without delay and consume 100% CPU.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 2.6.23, < 5.10.271 | 5.10.271 |
| linux/linux_kernel | ≥ 5.15, < 5.15.222 | 5.15.222 |
| linux/linux_kernel | ≥ 6.1, < 6.1.189 | 6.1.189 |
| linux/linux_kernel | ≥ 6.6, < 6.6.158 | 6.6.158 |
| linux/linux_kernel | ≥ 6.12, < 6.12.111 | 6.12.111 |
| linux/linux_kernel | ≥ 6.13, < 6.18.53 | 6.18.53 |
| linux/linux_kernel | ≥ 6.19, < 7.2.7 | 7.2.7 |
| linux/linux_kernel | all versions | — |