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.
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Ubuntu | — | Upgrade linux-image-7.0.0-1009-awsUpgrade linux-image-aws-64k-7.0Upgrade linux-image-nvidia-bosUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-gcp-64kUpgrade linux-image-gcp-7.0Upgrade linux-image-7.0.0-1016-nvidiaUpgrade linux-image-azure-fde-7.0Upgrade linux-image-ibmUpgrade linux-image-7.0.0-1015-raspiUpgrade linux-image-nvidia-7.0Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-raspiUpgrade linux-image-7.0.0-1015-raspi-realtimeUpgrade linux-image-awsUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-azure-7.0Upgrade linux-image-7.0.0-2016-nvidia-bosUpgrade linux-image-azure-fdeUpgrade linux-image-7.0.0-1008-oracle-64kUpgrade linux-image-azureUpgrade linux-image-oracle-7.0Upgrade linux-image-raspi-7.0Upgrade linux-image-gcpUpgrade linux-image-7.0.0-2016-nvidia-bos-64kUpgrade linux-image-7.0.0-1010-azureUpgrade linux-image-raspi-realtimeUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-7.0.0-1008-oracleUpgrade linux-image-aws-7.0Upgrade linux-image-oracle-64kUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-7.0.0-1016-nvidia-64kUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1009-aws-64kUpgrade linux-image-ibm-7.0Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-nvidia-64kUpgrade linux-image-aws-64kUpgrade linux-image-7.0.0-1010-ibmUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-oracleUpgrade linux-image-nvidiaUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-7.0.0-1009-azure-fde | Jul 21, 2026 | Jul 20, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 3, 2026 | Jul 19, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub