Description
In the Linux kernel, the following vulnerability has been resolved:
cpuidle: Skip governor when only one idle state is available
On certain platforms (PowerNV systems without a power-mgt DT node), cpuidle may register only a single idle state. In cases where that single state is a polling state (state 0), the ladder governor may incorrectly treat state 1 as the first usable state and pass an out-of-bounds index. This can lead to a NULL enter callback being invoked, ultimately resulting in a system crash.
[ 13.342636] cpuidle-powernv : Only Snooze is available [ 13.351854] Faulting instruction address: 0x00000000 [ 13.376489] NIP [0000000000000000] 0x0 [ 13.378351] LR [c000000001e01974] cpuidle_enter_state+0x2c4/0x668
Fix this by adding a bail-out in cpuidle_select() that returns state 0 directly when state_count <= 1, bypassing the governor and keeping the tick running.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= dc2251bf98c66db3f4e055b751968f0871037ae4, < a0f7e804edc82e513d1ccb7c95ed8b351522ec81; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < 5d103a38e2ae96eca57fd17161bcd29bd4622d1c; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < 4da2b897283c39980d6ae09dc1560fcd937879e5; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < 5c577ac939bca486cb02069505cfe47a5312ce02; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < 8f6833d919bae915ead6c599a53e81e19b32da52; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < 63ae78336f40bcd9a44952a7c6bafb9c88a8effd; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < a0724e40a58a0e323c59707edeae5b71d15800dc; >= dc2251bf98c66db3f4e055b751968f0871037ae4, < e5c9ffc6ae1bcdb1062527d611043681ac301aca |
| Linux | Linux | 4.14 |
References
- https://git.kernel.org/stable/c/4da2b897283c39980d6ae09dc1560fcd937879e5Patch
- https://git.kernel.org/stable/c/5c577ac939bca486cb02069505cfe47a5312ce02Patch
- https://git.kernel.org/stable/c/5d103a38e2ae96eca57fd17161bcd29bd4622d1cPatch
- https://git.kernel.org/stable/c/63ae78336f40bcd9a44952a7c6bafb9c88a8effdPatch
- https://git.kernel.org/stable/c/8f6833d919bae915ead6c599a53e81e19b32da52Patch
- https://git.kernel.org/stable/c/a0724e40a58a0e323c59707edeae5b71d15800dcPatch
- https://git.kernel.org/stable/c/a0f7e804edc82e513d1ccb7c95ed8b351522ec81Patch
- https://git.kernel.org/stable/c/e5c9ffc6ae1bcdb1062527d611043681ac301acaPatch
Timeline
- Published
- May 27, 2026
- Last modified
- Nov 6, 2026
- NVD status
- Analyzed