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.
CVSS Details
- CVSS 3.1 Base Score: 8.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
Covered by Rapid7
| 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 kernel-64kb-develUpgrade kernel-default-optionalUpgrade kernel-default-vdsoUpgrade dlm-kmp-azureUpgrade kernel-devel-rtUpgrade kselftests-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade dtb-amdUpgrade dtb-hisiliconUpgrade kselftests-kmp-64kbUpgrade dtb-exynosUpgrade dtb-renesasUpgrade dtb-freescaleUpgrade kernel-devel-azureUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmallUpgrade kernel-macrosUpgrade kernel-64kb-optionalUpgrade kernel-default-develUpgrade dtb-xilinxUpgrade kernel-rt-develUpgrade kernel-zfcpdumpUpgrade reiserfs-kmp-defaultUpgrade dtb-armUpgrade kernel-sourceUpgrade dtb-apmUpgrade dtb-appleUpgrade dtb-amazonUpgrade dtb-mediatekUpgrade cluster-md-kmp-defaultUpgrade dtb-socionextUpgrade kernel-source-azureUpgrade kernel-default-livepatch-develUpgrade kernel-symsUpgrade kernel-azure-extraUpgrade dlm-kmp-64kbUpgrade kernel-default-extraUpgrade kernel-kvmsmall-develUpgrade kernel-rt_debug-vdsoUpgrade dtb-lgUpgrade cluster-md-kmp-azureUpgrade kernel-debugUpgrade kernel-64kbUpgrade kernel-debug-develUpgrade cluster-md-kmp-rtUpgrade dtb-amlogicUpgrade kernel-obs-qaUpgrade gfs2-kmp-rtUpgrade kernel-develUpgrade ocfs2-kmp-rtUpgrade kernel-default-livepatchUpgrade kernel-docs-htmlUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-rt_debugUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade reiserfs-kmp-64kbUpgrade kernel-docsUpgrade kernel-syms-azureUpgrade dtb-alteraUpgrade cluster-md-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-defaultUpgrade kernel-azure-optionalUpgrade dtb-rockchipUpgrade dtb-broadcomUpgrade kernel-syms-rtUpgrade kernel-azure-vdsoUpgrade kernel-azureUpgrade kernel-64kb-extraUpgrade dtb-marvellUpgrade dtb-caviumUpgrade reiserfs-kmp-azureUpgrade kernel-rt-optionalUpgrade kernel-rt-extraUpgrade kernel-default-baseUpgrade dtb-qcomUpgrade kernel-rt-livepatch-develUpgrade kselftests-kmp-azureUpgrade kernel-rtUpgrade kernel-obs-buildUpgrade ocfs2-kmp-defaultUpgrade dtb-sprdUpgrade dlm-kmp-rtUpgrade gfs2-kmp-azureUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade dtb-allwinnerUpgrade dlm-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-source-rtUpgrade kernel-debug-vdsoUpgrade kernel-azure-devel | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-6.11.0-26-genericUpgrade linux-image-oracleUpgrade linux-image-realtimeUpgrade linux-image-6.11.0-1015-azureUpgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-virtualUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-azure-fdeUpgrade linux-image-raspiUpgrade linux-image-azureUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-6.11.0-1022-oemUpgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.11.0-1014-awsUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-genericUpgrade linux-image-gcp | May 21, 2025 | Mar 27, 2025 |
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