CVE-2026-93042

CVE-2026-93042

High · published September 17, 2026

CVSS v3.1
8.8
EPSS
0%
Percentile
32.9
In the wild
Unconfirmed
What it is

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

dmaengine: dw-edma: Terminate all descriptors without callbacks

The DMA Engine client documentation says in the "Terminate APIs" section

of Documentation/driver-api/dmaengine/client.rst:

"No callback functions will be called for any incomplete transfers."

dw-edma instead calls vchan_cookie_complete() when a deferred STOP reaches

the interrupt handler. This schedules a callback for the active descriptor

and leaves other issued or submitted descriptors queued. A late callback

after dmaengine_terminate_sync() can dereference client state that has

already been freed, while leftover descriptors may later restart into

reused buffers or leak.

Move all issued and submitted descriptors to the terminated list whenever

termination completes. For a pending STOP, do this from both the DONE and

ABORT paths. Complete their cookies in order without scheduling callbacks.

A STOP can remain pending until the running transfer raises an

interrupt. Make device_synchronize() wait for such a pending STOP to

complete before releasing terminated descriptors. Reuse it from

free_chan_resources(), then release the remaining virt-dma resources.

Sleep instead of busy-polling while waiting, and warn if the existing

timeout expires.

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00398 · 32.9th percentile
Published
2026-09-17T21:17Z
References (5)
EPSS history
Timeline
  • 19 SEP 03:55Z
    EPSS moved — → 0%
    epss
  • 17 SEP 16:10Z
    dmaengine: dw-edma: Terminate all descriptors without callbacks
    cvelistv5