GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel idxd: double free in idxd_setup_wqs() error path during DSA device probe

CVSS 7.8CVE-2025-39870Kernel, userspace & hypervisorcurated

Impact

idxd_setup_wqs() mishandles its error unwind: if max_wqs is non-positive or a kzalloc_node() fails mid-loop, put_device() runs on an uninitialized or already-released conf_dev, giving a double free. idxd drives Intel DSA, the on-die data-mover that newer Xeon hosts expose to accelerate memory copies and that is sometimes handed to guests or workloads via VFIO on accelerator nodes. The flaw is on the probe/allocation error path, so it needs an allocation failure or an unusual device configuration rather than a crafted input - realistically a crash and kernel memory corruption under memory pressure, not a tenant-controlled primitive. Separate from CVE-2025-39871, which is a refcount underflow on the idxd removal path.

Who can reach it

Local, no tenant path described: the error path runs during idxd device probe on hosts with Intel DSA enabled, reached via allocation failure or an out-of-range max_wqs.

What to do

Update to a stable kernel containing the rewritten unwind (five backports linked in the record) and reboot affected hosts. Hosts that do not enable Intel DSA, or that blacklist the idxd module, are not exposed. No fixed version string is in the record.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.