CVE-2026-53153

mm/list_lru: drain before clearing xarray entry on reparent

State
Published
Severity
7.8 High
Published
Jun 25, 2026
Updated
Sep 2, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

mm/list_lru: drain before clearing xarray entry on reparent

memcg_reparent_list_lrus() clears the dying memcg's xarray entry with xas_store(&xas, NULL) before reparenting its per-node lists into the parent. This opens a window where a concurrent list_lru_del() arriving for the dying memcg sees xa_load() == NULL, walks to the parent in lock_list_lru_of_memcg(), takes the parent's per-node lock, and calls list_del_init() on an item still physically linked on the dying memcg's list.

If another in-flight thread holds the dying memcg's per-node lock at the same moment (another list_lru_del, or a list_lru_walk_one running an isolate callback), both threads modify ->next/->prev pointers on the same physical list under different locks. Adjacent items can corrupt each other's links.

Fix it by reversing the order: reparent each per-node list and mark the child's list lru dead and then clear the xarray entry. Any concurrent list_lru op that finds the still-set xarray entry either takes the dying memcg's per-node lock (synchronizing with the drain) or sees LONG_MIN and walks to the parent, where the items now live.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.0 HighCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:Hredhat-SADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • fb56fdf8b9a2f7397f8a83dce50189f3f0cf71af to before c19ff4351214f059349788e13e70e74325831ff6Affected
  • fb56fdf8b9a2f7397f8a83dce50189f3f0cf71af to before 2b66496d794e98f7aeec7688573051f22ec40bacAffected
  • fb56fdf8b9a2f7397f8a83dce50189f3f0cf71af to before 98733f3f0becb1ae0701d021c1748e974e5fa55cAffected
LinuxLinux
  • 6.13Affected
  • before 6.13Not affected
  • 6.18.36 through 6.18.*Not affected
  • 7.0.13 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.