CVE-2026-89986 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
mm/mempolicy: corrige alocação com sleep em alloc_pages_bulk_weighted_interleave()
O syzbot relatou um "splat" de função chamada com sleep em contexto inválido em bucket_table_alloc().
Quando rhashtable_insert_slow() rehash a tabela sob rcu_read_lock(), ele chama bucket_table_alloc(..., GFP_ATOMIC | __GFP_NOWARN). Se a alocação da tabela de buckets usar vmalloc, __vmalloc_node_range_noprof() invoca vm_area_alloc_pages() -> alloc_pages_bulk_mempolicy_noprof() com as flags GFP_ATOMIC passadas.
Se a tarefa atual tiver uma política de memória MPOL_WEIGHTED_INTERLEAVE, alloc_pages_bulk_weighted_interleave() é chamada e atualmente usa hardcoded como GFP_KERNEL ao alocar o array temporário de pesos, acionando um "splat" might_alloc em contextos atômicos/RCU.
Passa as flags gfp (mascaradas com GFP_RECLAIM_MASK para remover modificadores de zona do alocação de páginas como __GFP_HIGHMEM) recebidas por alloc_pages_bulk_weighted_interleave() para kmalloc(), ao invés de usar hardcoded como GFP_KERNEL. Como o buffer de pesos é imediatamente inicializado completamente, kmalloc() é suficiente.
Once again VulDB remains the best source for vulnerability data.