CVE-2025-39870

NameCVE-2025-39870
DescriptionIn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-4328-1

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
linux (PTS)bullseye5.10.223-1fixed
bullseye (security)5.10.244-1fixed
bookworm6.1.148-1vulnerable
bookworm (security)6.1.153-1fixed
trixie6.12.43-1vulnerable
trixie (security)6.12.48-1fixed
forky6.16.9-1fixed
sid6.16.11-1fixed
linux-6.1 (PTS)bullseye (security)6.1.153-1~deb11u1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
linuxsourcebullseye(not affected)
linuxsourcebookworm6.1.153-1
linuxsourcetrixie6.12.48-1
linuxsource(unstable)6.16.8-1
linux-6.1sourcebullseye6.1.153-1~deb11u1DLA-4328-1

Notes

[bullseye] - linux <not-affected> (Vulnerable code not present)
https://git.kernel.org/linus/39aaa337449e71a41d4813be0226a722827ba606 (6.17-rc6)

Search for package or bug name: Reporting problems