Linux vulnerability

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.

Published 3 Sep 2026Updated 11 Oct 20263 sources
CVSS 0.0

What happened

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.

Affected versions

Linux: 58729c04cf1092b87aeef0bf0998c9e2e4771133 through before dc87b56b43c9143f2405e434cff1530c3488b571 (git); 58729c04cf1092b87aeef0bf0998c9e2e4771133 through before d858f7c9fc514f1d9d3be7d00b2dd4e2f2383b55 (git); 58729c04cf1092b87aeef0bf0998c9e2e4771133 through before aca1f2d5de17e138bc6c4859126b77e516b82541 (git); 6.15 Fixed: See vendor advisory.

Why it matters

Review the vendor advisory and exposure of the affected product to determine operational impact.

Detection & mitigation

  • Apply vendor-provided updates or mitigations.
  • Review affected product exposure and access logs.

Public PoC references

No public PoC reference has passed the current publication threshold.