CVE-2026-80719 in Linuxinformazioni

Riassunto

di VulDB • 28/08/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

mm: mglru: correggere gli aggiornamenti batch obsoleti dopo il reparenting di memcg

Il page table walker di mglru accumula le variazioni dimensionali per generazione (size deltas) in walk->nr_pages durante l'esplorazione delle tabelle dei pagine senza detenere il lock su lruvec. La funzione reset_batch_size() successivamente incorpora tali variazioni in walk->lruvec sotto la protezione del lock su lruvec.

Il page table walker può essere eseguito in concorrenza con il percorso di reparenting di memcg nel seguente modo:

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 --> reparenting dei folios figlio verso il genitore unlock lruvec

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

Ciò provocherà il seguente warning in lru_gen_exit_memcg():

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

L'impatto visibile all'utente di un nr_pages sottostimato in MGLRU è stato il verificarsi prematuro di OOM (Out Of Memory), poiché MGLRU non tenta di reclamare memoria quando nr_pages raggiunge zero, ma ci sono ancora pagine disponibili.

Per risolvere il problema, si rende necessario far sì che reset_batch_size() verifichi la presenza di CSS_DYING sotto RCU prima di svuotare il batch in sospeso. Un memcg non morente (non-dying) mantiene stabile lruvec originale rispetto all'offlining ritardato da RCU; un memcg morente reindirizza le variazioni verso il primo antenato non morente.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Linux

Prenotare

26/08/2026

Divulgazione

28/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!