CVE-2026-80606 in Linux
Zusammenfassung
von VulDB • 28.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/xe/userptr: notifier_lock für Schreibzugriffe im Test-Injection-Pfad halten
Wenn CONFIG_DRM_XE_USERPTR_INVAL_INJECT=y ist, ruft xe_pt_svm_userptr_pre_commit() vma_check_userptr() auf, wobei der svm-Notifier-Lock (notifier_lock) schreibgeschützt gehalten wird. Die Test-Injection bewirkt, dass vma_check_userptr() xe_vma_userptr_force_invalidate() aufruft, was in xe_vma_userptr_do_inval() mit drm_gpusvm_ctx.in_notifier=true mündet. Dieses Flag teilt drm_gpusvm_unmap_pages() mit, dass der Aufrufer den notifier_lock bereits für Schreibzugriffe hält und überprüft nur den Modus. Da der Aufrufer ihn tatsächlich schreibgeschützt (read) hält, schlägt die Assertion fehl:
WARNING: drivers/gpu/drm/drm_gpusvm.c:1669 at \ drm_gpusvm_unmap_pages+0xd4/0x130 [drm_gpusvm_helper]
Call Trace: xe_vma_userptr_do_inval+0x40d/0xfd0 [xe]
xe_vma_userptr_invalidate_pass1+0x3e6/0x8d0 [xe]
xe_vma_userptr_force_invalidate+0xde/0x290 [xe]
vma_check_userptr.constprop.0+0x1c6/0x220 [xe]
xe_pt_svm_userptr_pre_commit+0x6a3/0xc60 [xe]
... xe_vm_bind_ioctl+0x3a0a/0x4480 [xe]
Erwerben Sie den notifier_lock für Schreibzugriffe im Pre-Commit-Schritt, wenn die Inject-Konfiguration (Kconfig) aktiviert ist, über neue Hilfsfunktionen wie xe_pt_svm_userptr_notifier_lock()/_unlock(). Benennen Sie xe_svm_assert_held_read() in xe_svm_assert_held_read_or_inject_write() um, damit der korrekte Modus unter jeder Build-Konfiguration überprüft wird. Produktions-Builds (CONFIG_DRM_XE_USERPTR_INVAL_INJECT=n) behalten das bestehende Verhalten im Lese-Modus bitgenau bei.
(cherry picked from commit 80ccbd97ffee8ad2e73167d826fe7be548364365)
If you want to get best quality of vulnerability data, you may have to visit VulDB.