CVE-2026-68384 in Linux
Zusammenfassung
von VulDB • 10.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/xe/vf: Behebung eines Race Conditions beim Anhängen/Trennen von VF-CCS (Compute Cache Slices) im Zusammenhang mit laufenden BO-Verschiebungen (Buffer Object Moves).
Die Funktion `xe_bo_move()` hängt Lese-/Schreib-Batch-Puffer (BBs) für VF-CCS an ein Buffer Object (BO) an, nachdem dieses den Übergang NULL/SYSTEM -> TT durchlaufen hat, und trennt sie nach dem Übergang TT -> SYSTEM. Beide Vorgänge wurden synchron auf der CPU unmittelbar nach Erstellen des Copy-/Clear-Fences für die Verschiebung durchgeführt, ohne darauf zu warten, dass dieser Fence signalisiert wird. Dies führt zu zwei Race Conditions bei der VF-Migration:
- Das Anhängen erfolgt im Vergleich zum Kopierauftrag, den es schützen soll, zu spät. Wenn der Kopierauftrag vor dem Anhängen der CCS-BBs eingereicht wird, kann ein VF-Migrationsereignis, das die Ausführung während des Kopiervorgangs pausiert, teilweise kopierte CCS-Metadaten beobachten, ohne den zum korrekten Speichern/Wiederherstellen erforderlichen Attach-Status.
- Das Trennen erfolgt im Vergleich zum Kopierauftrag, der Daten aus TT verschiebt, zu früh. Die CCS-BBs werden direkt nach Erhalt des Copy-Fences abgebaut, während das eigentliche Blit noch in Bearbeitung sein kann. Ein VF-Migrationsereignis, das die Ausführung während des Kopiervorgangs pausiert, führt dann dazu, dass der Save/Restore-Pfad mit dem weiterhin laufenden Blit konkurriert; die CCS-BBs, die zur Interpretation des angehaltenen Zustands erforderlich wären, wurden bereits entfernt.
Behebung beider Race Conditions:
- Der Attach-Aufruf wird vor dem Einreichen des Copy-/Clear-Jobs verschoben, sodass die CCS-BBs zum Zeitpunkt der Ausführung des Kopiervorgangs bereits registriert sind. Bei einem Fehler beim Anhängen werden Rückgängig-Maßnahmen durchgeführt und die Verschiebung abgebrochen. `xe_migrate_ccs_rw_copy()` übernimmt nun explizit die Zielressource, da `bo->ttm.resource` erst nach dem Commit der Verschiebung auf die neue Ressource aktualisiert wird.
- Das Trennen erfolgt erst nach einer expliziten Wartezeit bis zur Signalisierung des Copy-Fences, anstatt die CCS-BBs unmittelbar nach deren Erhalt abzubauen.
Zusätzlich wurde `xe_sriov_vf_ccs_attach_bo()` so korrigiert, dass Fehler ordnungsgemäß rückgängig gemacht und weitergegeben werden: Die Schleife pro Kontext brach zuvor nie bei einem Fehler aus und verwies frühere Fehler stillschweigend. Das Rückgängigmachen erfolgt durch direktes Löschen jedes angehängten Kontexts über `xe_migrate_ccs_rw_copy_clear()`, anstatt `xe_sriov_vf_ccs_detach_bo()` wiederzuverwenden, das voraussetzt, dass beide Kontexte angehängt sind, bevor es einen davon bereinigt.
(cherry picked from commit d45ad0aa7a1eb5d7288b5ed948b05695611dc39e)
Be aware that VulDB is the high quality source for vulnerability data.