CVE-2025-39870

dmaengine: idxd: Fix double free in idxd_setup_wqs()

HIGH
7.8
CVSS Score
Published: September 23, 2025 at 06:00 AM UTC
Updated: October 19, 2026 at 09:10 PM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

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
HIGH7.8
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix double free in idxd_setup_wqs() The clean up in idxd_setup_wqs() has had a couple bugs because the error handling is a bit subtle. It's simpler to just re-write it in a cleaner way. The issues here are: 1) If "idxd->max_wqs" is <= 0 then we call put_device(conf_dev) when "conf_dev" hasn't been initialized. 2) If kzalloc_node() fails then again "conf_dev" is invalid. It's either uninitialized or it points to the "conf_dev" from the previous iteration so it leads to a double free. It's better to free partial loop iterations within the loop and then the unwinding at the end can handle whole loop iterations. I also renamed the labels to describe what the goto does and not where the goto was located.

Affected

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

6.1.140 ≤ v < 6.1.1536.12.30 ≤ v < 6.12.486.14.8 ≤ v < 6.156.15.1 ≤ v < 6.16.86.6.92 ≤ v < 6.6.1073fd2f4bc010cdfbc07dd21018dc65bd9370eb7a447846211998a9ffb0fcc08092eb95ac783d2b11a5fcd392dae6d6aba7dc64ffdbb838ff191315da36.1.1406.12.306.14.86.156.15 rc76.176.17 rc16.17 rc26.17 rc36.17 rc46.17 rc56.6.92d584acdf54f409cb7eae1359ae6c12aaabedeed8ed2c66000aa64c0d2621864831f0d04c820a1441
Vendor states this is fixed in 25e6146c2812487a88f619d5ff6efbdcd5b2bc31 (fixed)
Vendor states this is fixed in 39aaa337449e71a41d4813be0226a722827ba606 (fixed)
Vendor states this is fixed in 9f0e225635475b2285b966271d5e82cba74295b1 (fixed)
Vendor states this is fixed in df82c7901513fd0fc738052a8e6a330d92cc8ec9 (fixed)
Vendor states this is fixed in ec5430d090d0b6ace8fefa290fc37e88930017d2 (fixed)
Vendor states this is fixed in 6.1.153 (unaffected)
Vendor states this is fixed in 6.12.48 (unaffected)
Vendor states this is fixed in 6.15 (unaffected)
Vendor states this is fixed in 6.16.8 (unaffected)
Vendor states this is fixed in 6.17 (unaffected)
Vendor states this is fixed in 6.6.107 (unaffected)

CVSS

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

Quick Info

StatusANALYZED
CWE
CWE-415

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