Medium · published February 12, 2025
In the Linux kernel, the following vulnerability has been resolved:
fs/proc: fix softlockup in __read_vmcore (part 2)
Since commit 5cbcb62dddf5 ("fs/proc: fix softlockup in __read_vmcore") the
number of softlockups in __read_vmcore at kdump time have gone down, but
they still happen sometimes.
In a memory constrained environment like the kdump image, a softlockup is
not just a harmless message, but it can interfere with things like RCU
freeing memory, causing the crashdump to get stuck.
The second loop in __read_vmcore has a lot more opportunities for natural
sleep points, like scheduling out while waiting for a data write to
happen, but apparently that is not always enough.
Add a cond_resched() to the second loop in __read_vmcore to (hopefully)
get rid of the softlockups.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 6.1.95, < 6.1.127 | 6.1.127 |
| linux/linux_kernel | ≥ 6.6.35, < 6.6.74 | 6.6.74 |
| linux/linux_kernel | ≥ 6.9.6, < 6.12.11 | 6.12.11 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | ≥ 4.19.317, < 4.20 | 4.20 |
| linux/linux_kernel | ≥ 5.4.279, < 5.4.290 | 5.4.290 |
| linux/linux_kernel | ≥ 5.10.221, < 5.10.234 | 5.10.234 |
| linux/linux_kernel | ≥ 5.15.162, < 5.15.177 | 5.15.177 |