Description
In the Linux kernel, the following vulnerability has been resolved: mm/swapfile: add cond_resched() in get_swap_pages() The softlockup still occurs in get_swap_pages() under memory pressure. 64 CPU cores, 64GB memory, and 28 zram devices, the disksize of each zram device is 50MB with same priority as si. Use the stress-ng tool to increase memory pressure, causing the system to oom frequently. The plist_for_each_entry_safe() loops in get_swap_pages() could reach tens of thousands of times to find available space (extreme case: cond_resched() is not called in scan_swap_map_slots()). Let's add cond_resched() into get_swap_pages() when failed to find available space to avoid softlockup.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
adfab836f4908deb049a5128082719e689eed964 to < 29f0349c5c76b627fe06b87d4b13fa03a6ce8e64affectedadfab836f4908deb049a5128082719e689eed964 to < 387217b97e99699c34e6d95ce2b91b327fcd853eaffectedadfab836f4908deb049a5128082719e689eed964 to < d49c85a1913385eed46dd16a25ad0928253767f0affectedadfab836f4908deb049a5128082719e689eed964 to < 30187be29052bba9203b0ae2bdd815e0bc2faaabaffectedadfab836f4908deb049a5128082719e689eed964 to < 5dbe1ebd56470d03b78fc31491a9e4d433106ef2affectedadfab836f4908deb049a5128082719e689eed964 to < 49178d4d61e78aed8c837dfeea8a450700f196e2affectedadfab836f4908deb049a5128082719e689eed964 to < 7717fc1a12f88701573f9ed897cc4f6699c661e3affected75b1f2d3ed3169675b69b2f68217ebb839414657affectedbcbfe6fdf8576a545fafdfe4611f59cc6b166589affected3.12.30 to < 3.13affected3.14.21 to < 3.15affected
Linux Linux
Default version status: affected
3.16affected0 to < 3.16unaffected4.14.306 to ≤ 4.14.*unaffected4.19.273 to ≤ 4.19.*unaffected5.4.232 to ≤ 5.4.*unaffected5.10.168 to ≤ 5.10.*unaffected5.15.93 to ≤ 5.15.*unaffected6.1.11 to ≤ 6.1.*unaffected6.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/29f0349c5c76b627fe06b87d4b13fa03a6ce8e64 ↗
- https://git.kernel.org/stable/c/387217b97e99699c34e6d95ce2b91b327fcd853e ↗
- https://git.kernel.org/stable/c/d49c85a1913385eed46dd16a25ad0928253767f0 ↗
- https://git.kernel.org/stable/c/30187be29052bba9203b0ae2bdd815e0bc2faaab ↗
- https://git.kernel.org/stable/c/5dbe1ebd56470d03b78fc31491a9e4d433106ef2 ↗
- https://git.kernel.org/stable/c/49178d4d61e78aed8c837dfeea8a450700f196e2 ↗
- https://git.kernel.org/stable/c/7717fc1a12f88701573f9ed897cc4f6699c661e3 ↗