Linux Kernel DMA Engine MMP PDMA Race Condition Vulnerability Leading to Use-After-Free

Vulnerability

A race condition vulnerability has been identified in the Linux kernel's DMA engine, specifically within the MMP PDMA (Parallel DMA) driver. This vulnerability allows for a use-after-free condition when accessing the descriptor list and its contents. The issue arises because multiple threads can call the 'tx_status()' function simultaneously, while a tasklet on another CPU is in the process of freeing completed descriptors. The lack of proper locking mechanisms enables one thread to access a descriptor that has already been freed, leading to potential memory corruption or exploitation.

Impact

Exploitation of this vulnerability causes a use-after-free condition, where a thread accesses memory that has already been freed, potentially leading to memory corruption or arbitrary code execution.

Reproduction

The vulnerability can be reproduced by running 'dmatest' on the same DMA channel with multiple threads (threads_per_chan greater than 1).

Remediation

The vulnerability has been addressed by adding proper locking in the 'mmp_pdma_residue()' function to synchronize access to the descriptor list and prevent the use-after-free condition. Users should upgrade to the latest version of the Linux kernel where this fix has been applied.

Added: Feb 14, 2026, 5:48 PM
Updated: Feb 14, 2026, 5:48 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
7.5
exploitability
3.9
remediation
7.7
relevance
2.8
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.