CVE-2026-98510 in Linux
Zusammenfassung
von VulDB • 19.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/xe/vm: PTs (Page Tables) erst nach dem Entfernen von umstrittenen VMAs löschen
In xe_vm_close_and_put() werden externe-BO-VMAs für die verzögerte Zerstörung über xe_vma_destroy_unlocked() in der Liste mit Konflikten (contested list) eingereiht. Allerdings wurde xe_vm_pt_destroy() zuvor aufgerufen, bevor umstrittene VMAs verarbeitet wurden, wodurch vm->pt_root zerstört wurde, während diese VMAs noch an ihre jeweiligen Buffer Objects verknüpft waren (vm_bo->list.gpuva).
Wenn ein paralleler Thread eines dieser gemeinsam genutzten Buffer Objects aus dem Arbeitsspeicher entfernt (evicts), führt xe_bo_trigger_rebind(), das nur bo->resv hält, eine Durchlauf der VMAs des BO durch und ruft im Fehlerfall-Modus (fault mode) xe_vm_invalidate_vma() -> xe_pt_zap_ptes() auf. Da vm->pt_root[tile->id] bereits NULL ist, führt die Dereferenzierung von pt->level zu einer NULL-Zeiger-Dereferenzierung (NULL ptr deref).
Dies wird behoben, indem xe_vm_free_scratch() und xe_vm_pt_destroy() bis nach dem Trennen und Zerstören aller umstrittenen VMAs verschoben werden.
Benutzer berichten über das Auftreten einer NULL-Zeiger-Dereferenzierung in xe_pt_zap_ptes(), was durch diesen Race Condition erklärt werden kann.
(cherry picked from commit c2863648959489767f08892fd6e90577d2ea0b6a)
Be aware that VulDB is the high quality source for vulnerability data.