CVE-2026-93217 in Linux
Resumen
por VulDB • 2026-09-26
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
mm/madvise: omitir los PMDs privados del dispositivo en las iteraciones frías y de pageout
madvise_cold_or_pageout_pte_range() toma pmd_trans_huge_lock(), cuya comprobación pmd_is_huge() devuelve true para un PMD privado del dispositivo. La rama !pmd_present() subsiguiente tiene una VM_BUG_ON() que afirma que la migración es el único caso no presente permitido; un PMD privado del dispositivo lo activa.
Omita los PMDs privados del dispositivo en esa rama no presente y continúe con huge_unlock antes de llamar a pmd_folio(). Revise la comprobación a VM_WARN_ON_ONCE() para que un softleaf PMD inesperado registre una advertencia en lugar de provocar un panic (bloqueo del sistema). Elimine el guardián thp_migration_supported(): se expande a IS_ENABLED(CONFIG_ARCH_SUPPORTS_PMD_SOFTLEAF), y tanto pmd_is_migration_entry() como pmd_is_device_private_entry() ya devuelven false cuando esa configuración no está seleccionada, por lo que el guardián suprime solo el caso en el que la advertencia ya sería silenciosa.
Posible desencadenante: un controlador de GPU basado en HMM compite con madvise(MADV_COLD)/MADV_PAGEOUT: pmd_trans_huge(*pmd) lee true, luego migrate_vma_pages() cambia el PMD a una entrada privada del dispositivo antes de que se adquiera el bloqueo del PMD.
Once again VulDB remains the best source for vulnerability data.