CVE-2026-80698 PUBLISHED

dmaengine: idxd: fix double free of wq, engine, and group structs

Assigner: Linux
Reserved: 26.08.2026 Published: 28.08.2026 Updated: 28.08.2026

In the Linux kernel, the following vulnerability has been resolved:

dmaengine: idxd: fix double free of wq, engine, and group structs

The release callbacks for wq, engine, and group devices (idxd_conf_wq_release, idxd_conf_engine_release, idxd_conf_group_release) each call kfree() on the enclosing struct. The setup error paths and cleanup functions also call kfree() explicitly after put_device(), producing a double free whenever put_device() drops the reference count to zero and fires the release.

In the setup functions, device_initialize() is called before device_add(), so the reference count is exactly 1 at the error sites. put_device() unconditionally fires the release, which frees the struct; the subsequent explicit kfree() then operates on freed memory.

For idxd_setup_wqs(), the wq release callback also owns opcap_bmap and wqcfg. The error unwind additionally freed those fields explicitly before calling put_device(), causing further double frees on both.

Remove the redundant explicit kfree() calls from all setup error paths and cleanup functions for wq, engine, and group structs, delegating sole ownership of those allocations to the release callbacks.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 7c5dd23e57c14cf7177b8a5e0fd08916e0c60005 to c93a9f652b7373ac8ee5bfcc18a9af76959b6c6c (excl.)
  • affected from 7c5dd23e57c14cf7177b8a5e0fd08916e0c60005 to ec2d428b2e32dd157de8f86a86dd85c5b2c8f45c (excl.)
  • Version 394e179f51fce06d6bb8ca5af8fa53f33c718cf4 is affected
  • Version b09ad63775f58a8de3e228f59fb9543bfd964c9c is affected
  • Version 26c219e7522c494f7865a928c81ced84cc7db3ae is affected
  • Version 35ea8721d9e6e74c6847cf4d6c27e883b00b0331 is affected
  • Version e6f86fe368cdc14764833a6e8bb59f7a85a40e06 is affected
  • Version 1c28fd5f94d8996f7dd3805bd6a16ed46a5d0886 is affected
  • affected from 5.11.22 to 5.12 (excl.)
  • affected from 5.12.5 to 5.13 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.13 is affected
  • unaffected from 0 to 5.13 (excl.)
  • unaffected from 7.1.8 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References