CVE-2026-64590

dma-buf/udmabuf: skip redundant cpu sync to fix cacheline EEXIST warning

State
Published
Severity
Not scored
Published
Aug 6, 2026
Updated
Aug 23, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

dma-buf/udmabuf: skip redundant cpu sync to fix cacheline EEXIST warning

When CONFIG_DMA_API_DEBUG_SG is enabled, importing a udmabuf into a DRM driver (e.g. amdgpu for video playback in GNOME Videos / Showtime) triggers a spurious warning:

DMA-API: amdgpu 0000:03:00.0: cacheline tracking EEXIST, \ overlapping mappings aren't supported WARNING: kernel/dma/debug.c:619 at add_dma_entry+0x473/0x5f0

The call chain is:

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

This happens because udmabuf builds a per-page scatter-gather list via sg_set_folio(). When begin_cpu_udmabuf() has already created an sg table mapped for the misc device, and an importer such as amdgpu maps the same pages for its own device via map_udmabuf(), the DMA debug infrastructure sees two active mappings whose physical addresses share cacheline boundaries and warns about the overlap.

The DMA_ATTR_SKIP_CPU_SYNC flag suppresses this check in add_dma_entry() because it signals that no CPU cache maintenance is performed at map/unmap time, making the cacheline overlap harmless.

All other major dma-buf exporters already pass this flag: - drm_gem_map_dma_buf() passes DMA_ATTR_SKIP_CPU_SYNC - amdgpu_dma_buf_map() passes DMA_ATTR_SKIP_CPU_SYNC

The CPU sync at map/unmap time is also redundant for udmabuf: begin_cpu_udmabuf() and end_cpu_udmabuf() already perform explicit cache synchronization via dma_sync_sgtable_for_cpu/device() when CPU access is requested through the dma-buf interface.

Pass DMA_ATTR_SKIP_CPU_SYNC to dma_map_sgtable() and dma_unmap_sgtable() in udmabuf to suppress the spurious warning and skip the redundant sync.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 4a7c644e632741c2a3116a0d3da6c11de957a6baAffected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 01126abc11bcc6a45b664293b0b5df715be911d7Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before dd7f1e572f44d3d039dc77e3989f537196c3bf52Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 0db56e7eae932f8e2f3eb44ad1a63633d8f504f8Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before d6552f5cff795d60e629f37513ecf23d88fd2f82Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 34696563461c9a23177feb6d8aff43f4c0510278Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 0449a6583c0ee76778d314e4e82f166fc97fa9d8Affected
  • 284562e1f34874e267d4f499362c3816f8f6bc3f to before 504e2b4ab97a51d56d966cd36d0997ad30b65b2dAffected
LinuxLinux
  • 5.6Affected
  • before 5.6Not affected
  • 5.10.266 through 5.10.*Not affected
  • 5.15.217 through 5.15.*Not affected
  • 6.1.184 through 6.1.*Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.18.39 through 6.18.*Not affected
  • 7.1.4 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.