In the Linux kernel, the following vulnerability has been resolved:
iommu/vt-d: Fix suspicious RCU usage
Commit <d74169ceb0d2> ("iommu/vt-d: Allocate DMAR fault interrupts locally") moved the call to enable_drhd_fault_handling() to a code path that does not hold any lock while traversing the drhd list. Fix it by ensuring the dmar_global_lock lock is held when traversing the drhd list.
Without this fix, the following warning is triggered: ============================= WARNING: suspicious RCU usage 6.14.0-rc3 #55 Not tainted ----------------------------- drivers/iommu/intel/dmar.c:2046 RCU-list traversed in non-reader section!! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 1 2 locks held by cpuhp/1/23: #0: ffffffff84a67c50 (cpu_hotplug_lock){++++}-{0:0}, at: cpuhp_thread_fun+0x87/0x2c0 #1: ffffffff84a6a380 (cpuhp_state-up){+.+.}-{0:0}, at: cpuhp_thread_fun+0x87/0x2c0 stack backtrace: CPU: 1 UID: 0 PID: 23 Comm: cpuhp/1 Not tainted 6.14.0-rc3 #55 Call Trace: <TASK> dump_stack_lvl+0xb7/0xd0 lockdep_rcu_suspicious+0x159/0x1f0 ? __pfx_enable_drhd_fault_handling+0x10/0x10 enable_drhd_fault_handling+0x151/0x180 cpuhp_invoke_callback+0x1df/0x990 cpuhp_thread_fun+0x1ea/0x2c0 smpboot_thread_fn+0x1f5/0x2e0 ? __pfx_smpboot_thread_fn+0x10/0x10 kthread+0x12a/0x2d0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x4a/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK>
Holding the lock in enable_drhd_fault_handling() triggers a lockdep splat about a possible deadlock between dmar_global_lock and cpu_hotplug_lock. This is avoided by not holding dmar_global_lock when calling iommu_device_register(), which initiates the device probe process.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Mar 27, 2025 |
| Suse | — | Upgrade ocfs2-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-64kbUpgrade kernel-defaultUpgrade dtb-alteraUpgrade kernel-obs-buildUpgrade kernel-azure-optionalUpgrade kernel-rtUpgrade kernel-azureUpgrade dtb-rockchipUpgrade kernel-syms-rtUpgrade kernel-rt_debugUpgrade dtb-allwinnerUpgrade kernel-azure-vdsoUpgrade kernel-syms-azureUpgrade dtb-broadcomUpgrade kernel-64kb-extraUpgrade kernel-rt_debug-develUpgrade kernel-azure-develUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-defaultUpgrade kernel-docsUpgrade kernel-kvmsmall-vdsoUpgrade kernel-source-vanillaUpgrade dtb-nvidiaUpgrade kernel-docs-htmlUpgrade dtb-qcomUpgrade kernel-rt-vdsoUpgrade dtb-marvellUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-azureUpgrade dtb-caviumUpgrade kselftests-kmp-rtUpgrade kernel-source-rtUpgrade kernel-default-baseUpgrade kernel-rt-livepatch-develUpgrade dtb-sprdUpgrade kernel-rt-extraUpgrade dlm-kmp-rtUpgrade gfs2-kmp-azureUpgrade kernel-default-livepatchUpgrade kernel-rt-optionalUpgrade kselftests-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-azureUpgrade dtb-renesasUpgrade dtb-exynosUpgrade dtb-mediatekUpgrade kselftests-kmp-64kbUpgrade kernel-default-livepatch-develUpgrade dtb-amlogicUpgrade cluster-md-kmp-rtUpgrade ocfs2-kmp-rtUpgrade kernel-azure-extraUpgrade kernel-rt_debug-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-default-extraUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-kvmsmallUpgrade kernel-macrosUpgrade kernel-devel-azureUpgrade ocfs2-kmp-azureUpgrade kselftests-kmp-defaultUpgrade kernel-default-vdsoUpgrade gfs2-kmp-rtUpgrade dtb-lgUpgrade kernel-obs-qaUpgrade kernel-debug-develUpgrade kernel-debugUpgrade kernel-64kbUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-symsUpgrade kernel-default-optionalUpgrade dtb-amdUpgrade kernel-64kb-develUpgrade dtb-hisiliconUpgrade cluster-md-kmp-defaultUpgrade kernel-develUpgrade dtb-appleUpgrade dtb-apmUpgrade dtb-amazonUpgrade dtb-socionextUpgrade dtb-armUpgrade reiserfs-kmp-defaultUpgrade kernel-devel-rtUpgrade kernel-sourceUpgrade kernel-rt-develUpgrade kernel-source-azureUpgrade kernel-64kb-optionalUpgrade dtb-xilinxUpgrade kernel-zfcpdumpUpgrade kernel-default-devel | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-realtimeUpgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-6.11.0-1015-azureUpgrade linux-image-awsUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-virtualUpgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-6.11.0-26-genericUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-raspiUpgrade linux-image-gcpUpgrade linux-image-genericUpgrade linux-image-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.11.0-1014-awsUpgrade linux-image-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-6.11.0-1022-oemUpgrade linux-image-generic-64k | May 21, 2025 | Mar 27, 2025 |
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