CVE-2026-43061
Awaiting Analysis Awaiting Analysis - Queue
Deadlock in Linux Kernel 8250 Serial Driver via DMA

Publication date: 2026-05-05

Last updated on: 2026-05-05

Assigner: kernel.org

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.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-05
Last Modified
2026-05-05
Generated
2026-05-07
AI Q&A
2026-05-05
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
linux linux_kernel *
linux kernel *
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Linux kernel's serial 8250 driver related to DMA (Direct Memory Access) transactions. Specifically, the function dmaengine_terminate_async does not guarantee that the __dma_tx_complete callback will be executed. This callback is responsible for clearing the dma->tx_running flag, which indicates whether a DMA transmission is active.

If a DMA transaction is canceled and the callback never runs, the dma->tx_running flag remains set, causing the system to never schedule new TX DMA transactions again. The fix involves explicitly clearing dma->tx_running after terminating the DMA transaction while holding the UART port lock to ensure safe and serialized access.


How can this vulnerability impact me? :

This vulnerability can cause a deadlock in the transmission (TX) path of the serial 8250 driver when using DMA. Because the dma->tx_running flag may never be cleared if the callback does not run, new DMA transmission requests will not be scheduled. This can lead to a halt or significant delay in data transmission over the affected serial interface.

In practical terms, this could result in communication failures or degraded performance for systems relying on serial communication through this driver, potentially impacting system stability or functionality.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is related to the Linux kernel's serial 8250 driver and its handling of DMA transactions. To mitigate this vulnerability, you should update your Linux kernel to a version that includes the fix for the TX deadlock issue when using DMA.

This fix ensures that the dma->tx_running flag is properly cleared after terminating a DMA transaction, preventing the deadlock condition.

Applying the latest kernel updates or patches from your Linux distribution vendor is the immediate recommended step.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart