CVE-2025-71221CWE-362

CVE-2025-71221

High · published February 14, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
1.5
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00116 · 1.5th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-02-14T22:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 3.16, < 6.18.106.18.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (9)
EPSS history
Timeline
  • 14 FEB 16:27Z
    dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue()
    cvelistv5