CVE-2026-63929

Source
https://cve.org/CVERecord?id=CVE-2026-63929
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-63929.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-63929
Downstream
Published
2026-07-19T14:55:29.309Z
Modified
2026-07-21T03:47:35.293474950Z
Summary
iio: buffer: Fix DMA fence leak in iio_buffer_enqueue_dmabuf()
Details

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

iio: buffer: Fix DMA fence leak in iiobufferenqueue_dmabuf()

iiobufferenqueuedmabuf() allocates a struct iiodmafence (104 bytes, kmalloc-128) via kmallocobj()+dmafenceinit(), which sets the initial kref to 1. It then calls dmaresvadd_fence() which takes a second reference (kref=2), and stores a raw pointer in block->fence.

On the success path the function returns without calling dmafenceput() to release the initial reference, so every buffer enqueue permanently leaks one kmalloc-128 allocation.

The iiobuffercleanup() work item only releases the temporary reference taken during completion signalling by iiobuffersignaldmabufdone(); the initial reference from dmafenceinit() is never released.

With four iiorwdev instances at 240kHz and 512 samples per buffer, this produces ~1875 kmalloc-128 allocations per second matching the observed slab growth exactly. A test with ftrace confirmed that the dmafence_destroy event was never triggered.

Fix by calling dmafenceput() after dmaresvadd_fence(), transferring ownership of the fence to the DMA reservation object. The DMA fence then gets properly discarded after being signalled.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63929.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
3e26d9f08fbe0b73e951a5e810fdb7a332b7e37f
Fixed
9678aeed8b77d495a417dd057d479f3733094019
Fixed
3412a95afaa5d3262008dfc34f3c7be33d8151dc
Fixed
96cdeaba6a008503455b78a9641c05c2a886a7ec
Fixed
a093999355084bdbfe6e97f1dd232e58a1525f0b

Database specific

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

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.12.93
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.35
Type
ECOSYSTEM
Events
Introduced
6.19.0
Fixed
7.0.12

Database specific

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