In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Fix WARN_ON in iommu probe path
Commit 1a75cc710b95 ("iommu/vt-d: Use rbtree to track iommu probed devices") adds all devices probed by the iommu driver in a rbtree indexed by the source ID of each device. It assumes that each device has a unique source ID. This assumption is incorrect and the VT-d spec doesn't state this requirement either.
The reason for using a rbtree to track devices is to look up the device with PCI bus and devfunc in the paths of handling ATS invalidation time out error and the PRI I/O page faults. Both are PCI ATS feature related.
Only track the devices that have PCI ATS capabilities in the rbtree to avoid unnecessary WARN_ON in the iommu probe path. Otherwise, on some platforms below kernel splat will be displayed and the iommu probe results in failure.
WARNING: CPU: 3 PID: 166 at drivers/iommu/intel/iommu.c:158 intel_iommu_probe_device+0x319/0xd90 Call Trace: <TASK> ? __warn+0x7e/0x180 ? intel_iommu_probe_device+0x319/0xd90 ? report_bug+0x1f8/0x200 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x18/0x70 ? asm_exc_invalid_op+0x1a/0x20 ? intel_iommu_probe_device+0x319/0xd90 ? debug_mutex_init+0x37/0x50 __iommu_probe_device+0xf2/0x4f0 iommu_probe_device+0x22/0x70 iommu_bus_notifier+0x1e/0x40 notifier_call_chain+0x46/0x150 blocking_notifier_call_chain+0x42/0x60 bus_notify+0x2f/0x50 device_add+0x5ed/0x7e0 platform_device_add+0xf5/0x240 mfd_add_devices+0x3f9/0x500 ? preempt_count_add+0x4c/0xa0 ? up_write+0xa2/0x1b0 ? __debugfs_create_file+0xe3/0x150 intel_lpss_probe+0x49f/0x5b0 ? pci_conf1_write+0xa3/0xf0 intel_lpss_pci_probe+0xcf/0x110 [intel_lpss_pci] pci_device_probe+0x95/0x120 really_probe+0xd9/0x370 ? __pfx___driver_attach+0x10/0x10 __driver_probe_device+0x73/0x150 driver_probe_device+0x19/0xa0 __driver_attach+0xb6/0x180 ? __pfx___driver_attach+0x10/0x10 bus_for_each_dev+0x77/0xd0 bus_add_driver+0x114/0x210 driver_register+0x5b/0x110 ? __pfx_intel_lpss_pci_driver_init+0x10/0x10 [intel_lpss_pci] do_one_initcall+0x57/0x2b0 ? kmalloc_trace+0x21e/0x280 ? do_init_module+0x1e/0x210 do_init_module+0x5f/0x210 load_module+0x1d37/0x1fc0 ? init_module_from_file+0x86/0xd0 init_module_from_file+0x86/0xd0 idempotent_init_module+0x17c/0x230 __x64_sys_finit_module+0x56/0xb0 do_syscall_64+0x6e/0x140 entry_SYSCALL_64_after_hwframe+0x71/0x79
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 27, 2026 | Jul 27, 2026 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Dec 5, 2024 | May 20, 2024 |
| Suse | — | Upgrade ocfs2-kmp-defaultUpgrade kernel-rt-optionalUpgrade kernel-rt-vdsoUpgrade kernel-syms-rtUpgrade dtb-nvidiaUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-extraUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kselftests-kmp-azureUpgrade kselftests-kmp-rtUpgrade dtb-qcomUpgrade kernel-debug-vdsoUpgrade kernel-source-vanillaUpgrade kernel-rt-extraUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-sprdUpgrade dtb-allwinnerUpgrade dtb-alteraUpgrade kernel-azure-livepatch-develUpgrade reiserfs-kmp-azureUpgrade dtb-caviumUpgrade dtb-rockchipUpgrade kernel-defaultUpgrade kernel-obs-buildUpgrade gfs2-kmp-azureUpgrade kernel-docsUpgrade gfs2-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-rtUpgrade kernel-source-rtUpgrade dlm-kmp-rtUpgrade dtb-armUpgrade kernel-azure-develUpgrade dlm-kmp-defaultUpgrade kernel-azure-vdsoUpgrade kernel-azureUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-baseUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-optionalUpgrade gfs2-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-optionalUpgrade dtb-xilinxUpgrade kernel-syms-azureUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade kernel-default-livepatchUpgrade kernel-kvmsmall-develUpgrade kernel-default-livepatch-develUpgrade kernel-source-azureUpgrade kernel-kvmsmall-livepatch-develUpgrade reiserfs-kmp-defaultUpgrade kernel-zfcpdumpUpgrade kernel-rt-develUpgrade kernel-develUpgrade kernel-default-develUpgrade kernel-debug-livepatch-develUpgrade dtb-socionextUpgrade dlm-kmp-azureUpgrade dlm-kmp-64kbUpgrade kernel-azure-extraUpgrade kernel-docs-htmlUpgrade reiserfs-kmp-rtUpgrade kernel-devel-rtUpgrade kernel-default-extraUpgrade kernel-debugUpgrade dtb-renesasUpgrade dtb-lgUpgrade dtb-apmUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade kernel-rt_debug-vdsoUpgrade kernel-sourceUpgrade dtb-amdUpgrade cluster-md-kmp-defaultUpgrade kernel-default-vdsoUpgrade kernel-64kb-livepatch-develUpgrade dtb-mediatekUpgrade dtb-amlogicUpgrade kernel-default-optionalUpgrade kernel-macrosUpgrade dtb-appleUpgrade kernel-rt_debugUpgrade kernel-64kbUpgrade dtb-broadcomUpgrade ocfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-devel-azureUpgrade kernel-symsUpgrade kernel-debug-develUpgrade dtb-marvellUpgrade dtb-hisiliconUpgrade kernel-obs-qaUpgrade kernel-kvmsmallUpgrade kernel-64kb-develUpgrade kselftests-kmp-64kbUpgrade ocfs2-kmp-rt | Jul 23, 2024 | May 20, 2024 |
| Ubuntu | — | Upgrade linux-image-virtualUpgrade linux-image-6.8.0-1007-raspiUpgrade linux-image-6.8.0-1010-azureUpgrade linux-image-6.8.0-38-genericUpgrade linux-image-6.8.0-1009-nvidiaUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1007-intelUpgrade linux-image-6.8.0-1008-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-oem-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-38-lowlatencyUpgrade linux-image-6.8.0-38-lowlatency-64kUpgrade linux-image-6.8.0-1010-azure-fdeUpgrade linux-image-gcpUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-oracleUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1008-oracleUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1009-nvidia-64kUpgrade linux-image-6.8.0-1008-ibmUpgrade linux-image-raspiUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1008-oemUpgrade linux-image-6.8.0-1010-gcpUpgrade linux-image-6.8.0-1011-awsUpgrade linux-image-oracle-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1006-gkeUpgrade linux-image-genericUpgrade linux-image-nvidia-64kUpgrade linux-image-azureUpgrade linux-image-intelUpgrade linux-image-oem-24.04aUpgrade linux-image-ibm-classicUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-38-generic-64kUpgrade linux-image-nvidia | Jul 12, 2024 | May 20, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub