Description
In the Linux kernel, the following vulnerability has been resolved: serial: 8250: Fix TX deadlock when using DMA `dmaengine_terminate_async` does not guarantee that the `__dma_tx_complete` callback will run. The callback is currently the only place where `dma->tx_running` gets cleared. If the transaction is canceled and the callback never runs, then `dma->tx_running` will never get cleared and we will never schedule new TX DMA transactions again. This change makes it so we clear `dma->tx_running` after we terminate the DMA transaction. This is "safe" because `serial8250_tx_dma_flush` is holding the UART port lock. The first thing the callback does is also grab the UART port lock, so access to `dma->tx_running` is serialized.
References (8)
Core 8
Core References
Scores
CVSS v3
5.5
EPSS
0.0009
EPSS Percentile
0.6%
Attack Vector
LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Details
CWE
CWE-667
Status
published
Products (37)
linux/Kernel
< 5.10.253linux
linux/Kernel
5.11.0 - 5.15.203linux
linux/Kernel
5.16.0 - 6.1.167linux
linux/Kernel
6.13.0 - 6.18.20linux
linux/Kernel
6.14.0 - 6.19.10linux
linux/Kernel
6.2.0 - 6.6.130linux
linux/Kernel
6.7.0 - 6.12.78linux
Linux/Linux
< 6.14
Linux/Linux
5.10.235 - 5.10.253
Linux/Linux
5.10.253 - 5.10.*
... and 27 more
Published
May 05, 2026
Tracked Since
May 05, 2026