CVE-2026-80719 in Linuxinformación

Resumen

por VulDB • 2026-08-28

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

mm: mglru: corregir actualizaciones obsoletas por lotes tras el reparenting (reparentamiento) de memcg

El caminante de tablas de páginas (page table walker) de mglru acumula los deltas de tamaño por generación en walk->nr_pages mientras recorre las tablas de páginas sin mantener bloqueado el lruvec lock. La función reset_batch_size() posteriormente consolida esos deltas en walk->lruvec bajo el bloqueo del lruvec.

El caminante de tablas de páginas puede ejecutarse concurrentemente con la ruta de reparenting de memcg de la siguiente manera:

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 (reparentar los folios hijos al padre) unlock lruvec

lock lruvec reset_batch_size --> child lrugen->nr_pages += delta

Esto provocará la siguiente advertencia en lru_gen_exit_memcg():

VM_WARN_ON_ONCE(memchr_inv(lruvec->lrugen.nr_pages, 0, sizeof(lruvec->lrugen.nr_pages)));

Y el impacto visible para el usuario de un nr_pages subestimado en MGLRU fueron OOMs (Out of Memory) prematuras porque MGLRU no intenta recuperar memoria cuando nr_pages alcanza cero, pero aún quedan más páginas.

Para corregirlo, se hace que reset_batch_size() verifique CSS_DYING bajo RCU antes de vaciar el lote pendiente. Un memcg que no está muriendo mantiene estable el lruvec original frente al offlining retardado por RCU; un memcg en proceso de extinción redirige los deltas hacia el primer ancestro que no esté muriendo.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-08-28

Moderación

aceptado

Artículo

VDB-396646

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!