GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel MGLRU: stale batch updates after memcg reparenting cause premature OOM kills

CVE-2026-80719Kernel, userspace & hypervisorcurated

Impact

The MGLRU page-table walker accumulates per-generation page deltas without the lruvec lock and folds them in later. If a memory cgroup is reparented (offlined) in between, the deltas land on the dying child's lruvec, so the surviving cgroup's nr_pages is undercounted. MGLRU stops reclaiming once its counter hits zero even though reclaimable pages remain, so the kernel OOM-kills processes on a node that still has memory. On a GPU node this is felt as training or inference pods being OOM-killed under normal churn: every pod teardown offlines a memcg, so the racing condition recurs continuously on a busy multi-tenant node, and the kill lands on whichever workload was resident, not the one that caused it. There is no cross-tenant data exposure here - the cost is availability and wasted GPU-hours on restarted jobs.

Who can reach it

No attacker required and no authentication involved - this is a race between normal kernel paths. Any workload that creates and destroys cgroups (i.e. any container churn on the node) can trigger it on kernels with MGLRU (lru_gen) enabled. Not reachable remotely and not usable to cross a tenant boundary.

What to do

Take the fix from the stable kernel commits and reboot each node; the change is in core mm and cannot be hot-patched or applied by restarting a daemon. Nodes must be drained before reboot, which on a GPU fleet means evicting long-running training jobs. As an interim mitigation on kernels where MGLRU is optional, disabling multi-gen LRU (echo 0 > /sys/kernel/mm/lru_gen/enabled) removes the affected code path, at the cost of reverting to the legacy reclaim behaviour. The record lists stable commits but no fixed release numbers - check your distribution's advisory for the version that carries them.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.