CVE-2026-64590 in Linuxinfo

Zusammenfassung

von VulDB • 06.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

dma-buf/udmabuf: Redundante CPU-Synchronisierung überspringen, um die EEXIST-Warnung für Cachelines zu beheben

Wenn CONFIG_DMA_API_DEBUG_SG aktiviert ist, löst das Importieren eines udmabuf in einen DRM-Treiber (z. B. amdgpu für die Videowiedergabe in GNOME Videos / Showtime) eine falsche Warnung aus:

DMA-API: amdgpu 0000:03:00.0: Cacheline-Tracking EEXIST, \ überlappende Abbildungen werden nicht unterstützt WARNING: kernel/dma/debug.c:619 in add_dma_entry+0x473/0x5f0

Die Aufrufkette ist folgende:

amdgpu_cs_ioctl -> amdgpu_ttm_backend_bind -> dma_buf_map_attachment -> [udmabuf] map_udmabuf -> get_sg_table
-> dma_map_sgtable(dev, sg, direction, 0) // attrs=0 -> debug_dma_map_sg -> add_dma_entry -> EEXIST

Dies geschieht, weil udmabuf eine pro-Seite Scatter-Gather-Liste über sg_set_folio() aufbaut. Wenn begin_cpu_udmabuf() bereits eine für das Misc-Gerät abgebildete SG-Tabelle erstellt hat und ein Importeur wie amdgpu dieselben Seiten für sein eigenes Gerät über map_udmabuf() abbildet, erkennt die DMA-Debug-Infrastruktur zwei aktive Abbildungen, deren physikalische Adressen Cacheline-Grenzen teilen, und warnt vor der Überlappung.

Das Flag DMA_ATTR_SKIP_CPU_SYNC unterdrückt diese Überprüfung in add_dma_entry(), da es signalisiert, dass zum Zeitpunkt des Map/Unmap keine CPU-Cache-Wartung durchgeführt wird, wodurch die Cacheline-Überlappung harmlos ist.

Alle anderen wichtigen dma-buf-Exporter übergeben dieses Flag bereits: - drm_gem_map_dma_buf() übergibt DMA_ATTR_SKIP_CPU_SYNC - amdgpu_dma_buf_map() übergibt DMA_ATTR_SKIP_CPU_SYNC

Die CPU-Synchronisierung zum Zeitpunkt des Map/Unmap ist für udmabuf ebenfalls redundant: begin_cpu_udmabuf() und end_cpu_udmabuf() führen bereits eine explizite Cache-Synchronisierung über dma_sync_sgtable_for_cpu/device() durch, wenn der CPU-Zugriff über die dma-buf-Schnittstelle angefordert wird.

Übergabe von DMA_ATTR_SKIP_CPU_SYNC an dma_map_sgtable() und dma_unmap_sgtable() in udmabuf, um die falsche Warnung zu unterdrücken und die redundante Synchronisierung zu überspringen.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

19.07.2026

Veröffentlichung

06.08.2026

Moderieren

akzeptiert

Eintrag

VDB-386488

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!