{"id":"CVE-2025-39870","summary":"dmaengine: idxd: Fix double free in idxd_setup_wqs()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ndmaengine: idxd: Fix double free in idxd_setup_wqs()\n\nThe clean up in idxd_setup_wqs() has had a couple bugs because the error\nhandling is a bit subtle.  It's simpler to just re-write it in a cleaner\nway.  The issues here are:\n\n1) If \"idxd-\u003emax_wqs\" is \u003c= 0 then we call put_device(conf_dev) when\n   \"conf_dev\" hasn't been initialized.\n2) If kzalloc_node() fails then again \"conf_dev\" is invalid.  It's\n   either uninitialized or it points to the \"conf_dev\" from the\n   previous iteration so it leads to a double free.\n\nIt's better to free partial loop iterations within the loop and then\nthe unwinding at the end can handle whole loop iterations.  I also\nrenamed the labels to describe what the goto does and not where the goto\nwas located.","modified":"2026-03-20T12:43:05.051592Z","published":"2025-09-23T06:00:44.369Z","related":["MGASA-2025-0309","MGASA-2025-0310","SUSE-SU-2025:03600-1","SUSE-SU-2025:03634-1","SUSE-SU-2025:20851-1","SUSE-SU-2025:20861-1","SUSE-SU-2025:20870-1","SUSE-SU-2025:20898-1","SUSE-SU-2025:21074-1","SUSE-SU-2025:21139-1","SUSE-SU-2025:21179-1","SUSE-SU-2025:3751-1","SUSE-SU-2025:4057-1","SUSE-SU-2025:4132-1","SUSE-SU-2025:4141-1","openSUSE-SU-2025:20081-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39870.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/25e6146c2812487a88f619d5ff6efbdcd5b2bc31"},{"type":"WEB","url":"https://git.kernel.org/stable/c/39aaa337449e71a41d4813be0226a722827ba606"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9f0e225635475b2285b966271d5e82cba74295b1"},{"type":"WEB","url":"https://git.kernel.org/stable/c/df82c7901513fd0fc738052a8e6a330d92cc8ec9"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ec5430d090d0b6ace8fefa290fc37e88930017d2"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/39xxx/CVE-2025-39870.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-39870"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d584acdf54f409cb7eae1359ae6c12aaabedeed8"},{"fixed":"25e6146c2812487a88f619d5ff6efbdcd5b2bc31"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"47846211998a9ffb0fcc08092eb95ac783d2b11a"},{"fixed":"df82c7901513fd0fc738052a8e6a330d92cc8ec9"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"5fcd392dae6d6aba7dc64ffdbb838ff191315da3"},{"fixed":"ec5430d090d0b6ace8fefa290fc37e88930017d2"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"3fd2f4bc010cdfbc07dd21018dc65bd9370eb7a4"},{"fixed":"9f0e225635475b2285b966271d5e82cba74295b1"},{"fixed":"39aaa337449e71a41d4813be0226a722827ba606"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"0"},{"last_affected":"ed2c66000aa64c0d2621864831f0d04c820a1441"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-39870.json"}}],"schema_version":"1.7.5"}