Skip to main content
← All vulnerabilities
CVE-2026-43061

serial: 8250: Fix TX deadlock when using DMA

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.78, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 5.10.235 · fixed in 5.10.253; From 5.15.179 · fixed in 5.15.203; From 6.1.129 · fixed in 6.1.167; From 6.6.79 · fixed in 6.6.130; From 6.12.16 · fixed in 6.12.78; From 5.4.291 · fixed in 5.5; From 6.13.4 · fixed in 6.14

  • Linux Linux

    6.14

References 8

git.kernel.org