CVE-2025-71221
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2025
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue()
In the Linux kernel, the following vulnerability has been resolved: dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue() Add proper locking in mmp_pdma_residue() to prevent use-after-free when accessing descriptor list and descriptor contents. The race occurs when multiple threads call tx_status() while the tasklet on another CPU is freeing completed descriptors: CPU 0 CPU 1 ----- ----- mmp_pdma_tx_status() mmp_pdma_residue() -> NO LOCK held list_for_each_entry(sw, ..) DMA interrupt dma_do_tasklet() -> spin_lock(&desc_lock) list_move(sw->node, ...) spin_unlock(&desc_lock) | dma_pool_free(sw) <- FREED! -> access sw->desc <- UAF! This issue can be reproduced when running dmatest on the same channel with multiple threads (threads_per_chan > 1). Fix by protecting the chain_running list iteration and descriptor access with the chan->desc_lock spinlock.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | 3f0e0e2d9e752570041e95fd04635e2580097819 | Unavailable | None listed |
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | dfb5e05227745de43b7fd589721817a4337c970d | Unavailable | None listed |
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | eba0c75670c022cb1f948600db972524bcfe8166 | Unavailable | None listed |
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | fc023b8fab057f0c910856ff36d3e12a30b7af4a | Unavailable | None listed |
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | 9f665b3c3d9a168410251f27a5d019b7bf93185c | Unavailable | None listed |
| 1b38da264674d6a0fe26a63996b8f88b88c3da48 | affected | git | a143545855bc2c6e1330f6f57ae375ac44af00a7 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 3.16 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 3.16 | Unavailable | None listed |
| 5.15.209 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.167 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.130 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.78 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.10 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 6.19 | unaffected | original_commit_for_fix | Unavailable | * | None listed |