Linux · Linux Kernel · CVE-2024-42316
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.6.50
**Descrição**
Foi corrigida uma vulnerabilidade no kernel Linux, especificamente no módulo mm/mglru, onde poderia ocorrer um erro de divisão por zero na função vmpressure calc level(). Esse problema surge quando a função evict folios() utiliza uma segunda passagem para recuperar folios que passaram pela gravação de página e ficaram limpos antes de concluir a primeira passagem. A segunda passagem tenta evitar uma possível contagem dupla deduzindo scan control->nr scanned, mas isso pode resultar em um underflow de nr scanned se shrink folio list() não incrementar nr scanned, como quando folio trylock() falha. Esse underflow pode fazer com que o divisor em vmpressure calc level() se torne zero, levando a uma falha no sistema.
**Recomendações**
Para resolver este problema, atualize o kernel do Linux para a versão 6.6.50 ou posterior. Como solução alternativa temporária, considere modificar a função evict folios() para não deduzir scan control->nr scanned, a fim de evitar o underflow de nr scanned.