CVE-2026-80719 in Linuxinformação

Sumário

de VulDB • 28/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

mm: mglru: corrige atualizações desatualizadas em lote após o reparenting de memcg

O walker da tabela de páginas (page table walker) do mglru agrupa as variações de tamanho por geração (`deltas`) em `walk->nr_pages` enquanto percorre as tabelas de páginas sem manter bloqueado o lock de `lruvec`. A função `reset_batch_size()` posteriormente consolida essas variações em `walk->lruvec` sob a proteção do lock de `lruvec`.

O walker da tabela de páginas pode executar simultaneamente com o caminho de reparenting de memcg, conforme ilustrado abaixo:

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 --> reparenta folios filhos para o pai unlock lruvec

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

Isso acionará o seguinte aviso em `lru_gen_exit_memcg()`:

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

E o impacto visível ao usuário da subestimação de `nr_pages` no MGLRU foram OOMs (Out-Of-Memory) prematuros, pois o MGLRU não tenta recuperar memória quando `nr_pages` atinge zero, mas ainda existem mais páginas.

Para corrigir isso, faça com que `reset_batch_size()` verifique a flag CSS_DYING sob RCU antes de despejar (`flush`) o lote pendente. Um memcg que não está morrendo mantém o lruvec original estável contra o desligamento atrasado pelo RCU; um memcg em processo de morte redireciona as variações para o primeiro ancestral que não está morrendo.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

26/08/2026

Divulgação

28/08/2026

Moderação

aceite

Entrada

VDB-396646

CPE

pronto

EPSS

0.00145

KEV

não

Atividades

muito baixo

Fontes

Do you know our Splunk app?

Download it now for free!