CVE-2026-64590

Source
https://cve.org/CVERecord?id=CVE-2026-64590
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64590.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-64590
Downstream
Published
2026-08-06T07:13:47.888Z
Modified
2026-08-08T03:32:18.609679591Z
Summary
dma-buf/udmabuf: skip redundant cpu sync to fix cacheline EEXIST warning
Details

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

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

When CONFIGDMAAPIDEBUGSG 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 adddmaentry+0x473/0x5f0

The call chain is:

amdgpucsioctl -> amdgputtmbackendbind -> dmabufmapattachment -> [udmabuf] mapudmabuf -> getsgtable -> dmamapsgtable(dev, sg, direction, 0) // attrs=0 -> debugdmamapsg -> adddmaentry -> EEXIST

This happens because udmabuf builds a per-page scatter-gather list via sgsetfolio(). When begincpuudmabuf() 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 DMAATTRSKIPCPUSYNC flag suppresses this check in adddmaentry() 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: - drmgemmapdmabuf() passes DMAATTRSKIPCPUSYNC - amdgpudmabufmap() passes DMAATTRSKIPCPU_SYNC

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

Pass DMAATTRSKIPCPUSYNC to dmamapsgtable() and dmaunmapsgtable() in udmabuf to suppress the spurious warning and skip the redundant sync.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64590.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
284562e1f34874e267d4f499362c3816f8f6bc3f
Fixed
0db56e7eae932f8e2f3eb44ad1a63633d8f504f8
Fixed
d6552f5cff795d60e629f37513ecf23d88fd2f82
Fixed
34696563461c9a23177feb6d8aff43f4c0510278
Fixed
0449a6583c0ee76778d314e4e82f166fc97fa9d8
Fixed
504e2b4ab97a51d56d966cd36d0997ad30b65b2d

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64590.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.6.0
Fixed
6.6.148
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.96
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.39
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.1.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-64590.json"