mm/huge_memory: initialise workingset state before folio split
- 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 6.18.56, 7.1.9
- 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
Summary
In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: initialise workingset state before folio split xas_try_split() adds __GFP_ACCOUNT for page-cache xa_nodes, but __folio_split() leaves the xa_state's xa_lru unset. That lets a live, memcg-charged xa_node exist without being linked into the mapping's shadow_nodes list_lru; when reclaim later walks the list_lru it trips VM_WARN_ON(!css_is_dying()). Use mapping_set_update() to install both the workingset update callback and the shadow_nodes list_lru on the xa_state.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 58729c04cf1092b87aeef0bf0998c9e2e4771133 · fixed in dc87b56b43c9143f2405e434cff1530c3488b571; From 58729c04cf1092b87aeef0bf0998c9e2e4771133 · fixed in d858f7c9fc514f1d9d3be7d00b2dd4e2f2383b55; From 58729c04cf1092b87aeef0bf0998c9e2e4771133 · fixed in aca1f2d5de17e138bc6c4859126b77e516b82541
- Linux Linux
6.15
- KernelLinux
From 6.15.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.1.9