GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux dw-edma: callbacks fire for terminated transfers, dereferencing freed client state

CVSS 8.8CVE-2026-93042Kernel, userspace & hypervisorcurated

Impact

The DMAEngine contract says no callback runs for an incomplete transfer after termination, but dw-edma called vchan_cookie_complete() when a deferred STOP reached the interrupt handler - scheduling a callback for the active descriptor and leaving other issued descriptors queued. A late callback after dmaengine_terminate_sync() can dereference client state that has already been freed, and leftover descriptors can later restart into reused buffers or leak. This is the DesignWare embedded DMA engine used behind PCIe endpoints and bridges; exposure in a datacenter depends on having a driver that uses it, and it is reached through kernel-internal DMA clients rather than directly by a tenant. Where it is in use, the outcome is host-side use-after-free and DMA into recycled buffers, not something an operator can detect from userspace.

Who can reach it

Not tenant-facing. Triggered by in-kernel DMA clients of the dw-edma engine performing terminate/teardown while a transfer is in flight - device removal, driver unbind, or error recovery on hardware using DesignWare eDMA. Local and privileged at best.

What to do

Take a stable kernel containing the fix (all issued and submitted descriptors moved to the terminated list, cookies completed without callbacks, device_synchronize() waiting for a pending STOP) and reboot the affected nodes. No configuration-level mitigation is described.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.