GHSA-6grr-36f8-j7pvMediumCVSS 5.5
In the Linux kernel, the following vulnerability has been resolved: serial: 8250: Fix TX...
🔗 CVE IDs covered (1)
📋 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 (10)
- https://nvd.nist.gov/vuln/detail/CVE-2026-43061
- https://git.kernel.org/stable/c/2a72403b985aea6b4aac3171830492f9a387f9e1
- https://git.kernel.org/stable/c/5f6b17562f03fc65c7d3474ef8f1959b19d1ca41
- https://git.kernel.org/stable/c/79a19bd936bb35f56ef0ccab1b3b59ebce8c762d
- https://git.kernel.org/stable/c/8190f9ab6ad90cb97652adbebd238b874a4ef70d
- https://git.kernel.org/stable/c/a424a34b8faddf97b5af41689087e7a230f79ba7
- https://git.kernel.org/stable/c/b5ad887339503103d0fbe9827b16ad287597c275
- https://git.kernel.org/stable/c/d2719a0a9c3439abf67843a5504b7afccd9ded93
- https://git.kernel.org/stable/c/f76d91271bcacbd759a2e4ee3ea61faa6a727ccf
- https://github.com/advisories/GHSA-6grr-36f8-j7pv