Skip to content
VulniPulse
Advisory severityMedium5.5Vendor: LowRed Hat Linux

Medium [CVE-2026-63929] Fix DMA fence leak in iio_buffer_enqueue_dmabuf

This medium-severity Red Hat Linux advisory covers CVE-2026-63929 affecting Red Hat Enterprise Linux 10, Red Hat package: kernel.

Aggregated and source-linked by VulniPulse. Data sources, validation and limitations.

CVE-2026-63929 Source published Source updated

VulniPulse record published Record updated

CVE-2026-63929
Affected products & platforms
Red Hat LinuxLinux Kernel
Open source advisory

Get an email when Red Hat Linux Linux Kernel publishes the next one.

See Red Hat Linux Linux Kernel's last 90 days of advisories first. Then choose one product with live alerts free for life, or a free month of real-time alerts on everything with the severity, the fixed version and the vendor's link (card needed, then US$15/month; we email you before the first charge).

Alert me about Red Hat Linux Linux Kernel

Summary

In the Linux kernel, the following vulnerability has been resolved: iio: buffer: Fix DMA fence leak in iio_buffer_enqueue_dmabuf() iio_buffer_enqueue_dmabuf() allocates a struct iio_dma_fence (104 bytes, kmalloc-128) via kmalloc_obj()+dma_fence_init(), which sets the initial kref to 1.

It then calls dma_resv_add_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 dma_fence_put() to release the initial reference, so every buffer enqueue permanently leaks one kmalloc-128 allocation.

The iio_buffer_cleanup() work item only releases the temporary reference taken during completion signalling by iio_buffer_signal_dmabuf_done(); the initial reference from dma_fence_init() is never released.

With four iio_rwdev 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 dma_fence_destroy event was never triggered.

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

The `iio_buffer_enqueue_dmabuf()` function, responsible for managing Direct Memory Access (DMA) buffers, fails to properly release a memory reference.

Affected versions

No affected-version range was extracted from the source record. The vendor advisory is authoritative. Check it before change work.

Official advisory · medium-confidence parse· fetched 7 days ago·verify at source

Fixed versions

No fixed release is recorded yet. That does not prove no patch exists. Confirm against the vendor advisory.

Official advisory · medium-confidence parse· fetched 7 days ago·verify at source

Mitigation

The source record does not include mitigation steps. That does not mean no fix exists. Read the vendor advisory below for the authoritative guidance.

Official advisory · medium-confidence parse· fetched 7 days ago·verify at source

All Red Hat Linux advisories

iPhone and Android apps · New on the App Store

Monitor future Red Hat Linux CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 34 official vendor sources and 160+ reviewed platform categories.

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.