CVE-2026-98510 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 19.

리눅스 커널에서 다음 취약점이 해결되었습니다:

drm/xe/vm: 경쟁 상태에 있는 VMAs를 언링크한 후에만 PTs 제거

xe_vm_close_and_put() 함수에서는 외부 BO(Buffer Object)의 VMAs가 xe_vma_destroy_unlocked()를 통해 지연 파괴되도록 경쟁 목록(contested list)에 큐잉됩니다. 그러나 기존에는 xe_vm_pt_destroy()가 경쟁 상태에 있는 VMAs 처리 전에 호출되어, 해당 VMAs가 여전히 각각의 버퍼 객체(vm_bo->list.gpuva)와 연결된 상태에서 vm->pt_root가 파괴되었습니다.

동시 스레드가 이러한 공유 버퍼 객체 중 하나를 evict하면, bo->resv만 보유한 xe_bo_trigger_rebind()는 BO의 VMAs를 순회하고, fault 모드에서 xe_vm_invalidate_vma() -> xe_pt_zap_ptes()를 호출합니다. 이때 vm->pt_root[tile->id]가 이미 NULL이므로 pt->level을 역참조(null ptr deref)하면 오류가 발생합니다.

이를 해결하기 위해 모든 경쟁 상태 VMAs가 언링크되고 파괴된 후에야 xe_vm_free_scratch()와 xe_vm_pt_destroy()를 지연 실행하도록 수정했습니다.

사용자가 xe_pt_zap_ptes()에서 NULL 포인터 역참조(null ptr deref) 오류에 부딪혔다고 보고했으며, 이는 위 race condition으로 설명될 수 있습니다.

(커밋 c2863648959489767f08892fd6e90577d2ea0b6a에서 cherry picked됨)

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

출처

Do you need the next level of professionalism?

Upgrade your account now!