CVE-2026-43061

serial: 8250: Fix TX deadlock when using DMA

MEDIUM
5.5
CVSS Score
Published: May 5, 2026 at 03:17 PM UTC
Updated: June 17, 2026 at 10:48 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 5.4.291v ≥ 6.13.45.10.235 ≤ v < 5.10.2535.15.179 ≤ v < 5.15.2035.4.291 ≤ v < 5.56.1.129 ≤ v < 6.1.1676.12.16 ≤ v < 6.12.786.13.4 ≤ v < 6.146.14 ≤ v < 6.18.206.14 ≤ v < 6.19.106.14 ≤ v < 7.06.14.1 ≤ v < 6.18.206.19 ≤ v < 6.19.106.6.79 ≤ v < 6.6.1305.10.2355.15.1795.4.29159f751db7f392fa7a58cbd972205982f7f4f58545e00346deb7bf40a4cf70e3716ac8e9a2409eb556.1.1296.12.166.13.46.146.14 rc36.14 rc46.14 rc56.14 rc66.14 rc76.6.797.0 rc17.0 rc27.0 rc37.0 rc47.0 rc57.0 rc67.0 rc77c47e637dfadfbc691dd297b91d81ef939ca20809e512eaaf8f4008c44ede3dfc0fbc9d9c5118583bbec5998d7bd349730f59c959a8b00cfff816e34bf3f395b9c37956eca866c9e1679769ed7dcce68c8a52c772c7c6de72257a435bcad03d3bb914a70d470522c597b73e63cca04f3012aec28185113b7
Vendor states this is fixed in 2a72403b985aea6b4aac3171830492f9a387f9e1 (fixed)
Vendor states this is fixed in 5f6b17562f03fc65c7d3474ef8f1959b19d1ca41 (fixed)
Vendor states this is fixed in 79a19bd936bb35f56ef0ccab1b3b59ebce8c762d (fixed)
Vendor states this is fixed in 8190f9ab6ad90cb97652adbebd238b874a4ef70d (fixed)
Vendor states this is fixed in a424a34b8faddf97b5af41689087e7a230f79ba7 (fixed)
Vendor states this is fixed in b5ad887339503103d0fbe9827b16ad287597c275 (fixed)
Vendor states this is fixed in d2719a0a9c3439abf67843a5504b7afccd9ded93 (fixed)
Vendor states this is fixed in f76d91271bcacbd759a2e4ee3ea61faa6a727ccf (fixed)
Vendor states this is fixed in 5.10.253 (unaffected)
Vendor states this is fixed in 5.15.203 (unaffected)
Affected range stops below 5.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.1.167 (unaffected)
Vendor states this is fixed in 6.12.78 (unaffected)
Vendor states this is fixed in 6.14 (unaffected)
Vendor states this is fixed in 6.18.20 (unaffected)
Vendor states this is fixed in 6.19.10 (unaffected)
Vendor states this is fixed in 6.6.130 (unaffected)
Vendor states this is fixed in 7.0 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card