mm/swapfile: add cond_resched() in get_swap_pages()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 3.13, 3.15
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 3.12.30 · fixed in 3.13; From 3.14.21 · fixed in 3.15
- Linux Linux
3.16
References 7
git.kernel.org
- stable/c/29f0349c5c76b627fe06b87d4b13fa03a6ce8e64
- stable/c/387217b97e99699c34e6d95ce2b91b327fcd853e
- stable/c/d49c85a1913385eed46dd16a25ad0928253767f0
- stable/c/30187be29052bba9203b0ae2bdd815e0bc2faaab
- stable/c/5dbe1ebd56470d03b78fc31491a9e4d433106ef2
- stable/c/49178d4d61e78aed8c837dfeea8a450700f196e2
- stable/c/7717fc1a12f88701573f9ed897cc4f6699c661e3