{"id":21371,"date":"2026-09-12T04:31:06","date_gmt":"2026-09-11T20:31:06","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89449"},"modified":"2026-09-12T04:31:06","modified_gmt":"2026-09-11T20:31:06","slug":"cve-2026-89449","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89449","title":{"rendered":"CVE-2026-89449 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\niommu: Fix dev_iommu"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>iommu: Fix dev_iommu memory leak when device_add fails in iommu_mock_device_add<\/p>\n<p>iommu_mock_device_add() first calls iommu_fwspec_init(), which on<br \/>\nsuccess allocates both dev-&gt;iommu (via dev_iommu_get()) and<br \/>\ndev-&gt;iommu-&gt;fwspec. If the subsequent device_add(dev) call fails,<br \/>\nthe error path only calls iommu_fwspec_free(dev), which frees<br \/>\nfwspec but leaves dev-&gt;iommu still allocated.<\/p>\n<p>This triggers the following kmemleak report when fuzzing with Syzkaller:<\/p>\n<p>BUG: memory leak<br \/>\nunreferenced object 0xffff888011e0a200 (size 192):<br \/>\n  comm &#8220;syz.1.1695&#8221;, pid 24885, jiffies 4295222527<br \/>\n  hex dump (first 32 bytes):<br \/>\n    00 00 00 00 00 00 00 00 00 00 00 00 ad 4e ad de  &#8230;&#8230;&#8230;&#8230;.N..<br \/>\n    ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff  &#8230;&#8230;&#8230;&#8230;&#8230;.<br \/>\n  backtrace (crc 25df5bb3):<br \/>\n    kmemleak_alloc_recursive include\/linux\/kmemleak.h:44 [inline]<br \/>\n    slab_post_alloc_hook mm\/slub.c:4575 [inline]<br \/>\n    slab_alloc_node mm\/slub.c:4899 [inline]<br \/>\n    __kmalloc_cache_noprof+0x47a\/0x710 mm\/slub.c:5415<br \/>\n    kmalloc_noprof include\/linux\/slab.h:950 [inline]<br \/>\n    kzalloc_noprof include\/linux\/slab.h:1188 [inline]<br \/>\n    dev_iommu_get+0x10c\/0x1a0 drivers\/iommu\/iommu.c:408<br \/>\n    iommu_fwspec_init+0x288\/0x4d0 drivers\/iommu\/iommu.c:3087<br \/>\n    iommu_mock_device_add+0x46\/0xb0 drivers\/iommu\/iommu.c:385<br \/>\n    mock_dev_create drivers\/iommu\/iommufd\/selftest.c:1025 [inline]<br \/>\n    iommufd_test_mock_domain drivers\/iommu\/iommufd\/selftest.c:1066 [inline]<br \/>\n    iommufd_test+0x2f8a\/0x6190 drivers\/iommu\/iommufd\/selftest.c:2072<br \/>\n    iommufd_fops_ioctl+0x367\/0x540 drivers\/iommu\/iommufd\/main.c:533<br \/>\n    vfs_ioctl fs\/ioctl.c:51 [inline]<br \/>\n    __do_sys_ioctl fs\/ioctl.c:597 [inline]<br \/>\n    __se_sys_ioctl fs\/ioctl.c:583 [inline]<br \/>\n    __x64_sys_ioctl+0x18e\/0x210 fs\/ioctl.c:583<br \/>\n    do_syscall_x64 arch\/x86\/entry\/syscall_64.c:63 [inline]<br \/>\n    do_syscall_64+0x116\/0x800 arch\/x86\/entry\/syscall_64.c:94<br \/>\n    entry_SYSCALL_64_after_hwframe+0x77\/0x7f<\/p>\n<p>Fix this by calling dev_iommu_free(dev) instead of iommu_fwspec_free(dev)<br \/>\nin the device_add() failure path. dev_iommu_free() frees both fwspec<br \/>\nand the outer dev_iommu struct and clears dev-&gt;iommu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>iommu: Fix dev_iommu memory leak when device_add fails in iommu_mock_device_add<\/p>\n<p>iommu_mock_device_add() first calls iommu_fwspec_i<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21371","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21371","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21371"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21371"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21371"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}