CVE-2026-80719
Received Received - Intake

mm: mglru stale batch updates fix in Linux kernel

Vulnerability report for CVE-2026-80719, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-28

Last updated on: 2026-08-28

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: mm: mglru: fix stale batch updates after memcg reparenting The mglru page table walker batches per-generation size deltas in walk->nr_pages while walking page tables without holding the lruvec lock. The reset_batch_size() later folds those deltas into walk->lruvec under the lruvec lock. The page table walker can run concurrently with the memcg reparenting path as follows: CPU0 CPU1 ==== ==== walk_mm --> walk_page_range --> update_batch_size --> walk->nr_pages += delta mem_cgroup_css_offline --> memcg_reparent_objcgs --> lock lruvec lru_gen_reparent_memcg --> reparent child folios to parent unlock lruvec lock lruvec reset_batch_size --> child lrugen->nr_pages += delta This will trigger the following warning in lru_gen_exit_memcg(): VM_WARN_ON_ONCE(memchr_inv(lruvec->lrugen.nr_pages, 0, sizeof(lruvec->lrugen.nr_pages))); And the user-visible impact of underestimated nr_pages in MGLRU was premature OOMs because MGLRU does not try to reclaim memory when nr_pages reaches zero, but there are still more pages. To fix it, make reset_batch_size() check CSS_DYING under RCU before flushing the pending batch. A non-dying memcg keeps the original lruvec stable against RCU-delayed offlining; a dying memcg redirects the deltas to the first non-dying ancestor.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-28
Last Modified
2026-08-28
Generated
2026-08-28
AI Q&A
2026-08-28
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a race condition in the mglru (Multi-Generation LRU) page table walker. It occurs when batch updates to memory statistics are not properly synchronized with memory cgroup (memcg) reparenting operations. The issue leads to stale batch updates being applied after memcg reparenting, causing incorrect memory accounting and potential premature out-of-memory (OOM) conditions.

Detection Guidance

This vulnerability is specific to the Linux kernel's MGLRU implementation and requires kernel-level inspection. Detection involves checking kernel logs for the VM_WARN_ON_ONCE warning related to lruvec->lrugen.nr_pages. Use commands like dmesg | grep 'VM_WARN_ON_ONCE' or journalctl -k | grep 'lrugen' to search for related warnings.

Impact Analysis

The vulnerability can cause the system to incorrectly calculate memory usage, leading to premature OOM conditions even when sufficient memory is available. This may result in unnecessary process terminations and degraded system performance.

Mitigation Strategies

Apply the kernel patch that fixes the issue by ensuring reset_batch_size() checks CSS_DYING under RCU before flushing pending batch updates. Update your Linux kernel to a version containing the fix. Monitor system logs for the warning signs mentioned above.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-80719. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart