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 gfs2-kmp-azureUpgrade kernel-default-livepatchUpgrade kernel-source-rtUpgrade kernel-syms-azureUpgrade kernel-rt-vdsoUpgrade reiserfs-kmp-64kbUpgrade dtb-nvidiaUpgrade kernel-docsUpgrade kernel-debug-vdsoUpgrade dlm-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-azure-develUpgrade dtb-sprdUpgrade kernel-rt-extraUpgrade kernel-rt-livepatch-develUpgrade dtb-qcomUpgrade kernel-rt-optionalUpgrade kernel-obs-buildUpgrade kernel-default-baseUpgrade dtb-marvellUpgrade kselftests-kmp-azureUpgrade kernel-rtUpgrade kernel-rt_debugUpgrade kernel-rt_debug-develUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-optionalUpgrade kernel-defaultUpgrade ocfs2-kmp-defaultUpgrade dtb-caviumUpgrade kernel-syms-rtUpgrade kselftests-kmp-rtUpgrade kernel-azureUpgrade cluster-md-kmp-64kbUpgrade dtb-rockchipUpgrade kernel-64kb-extraUpgrade kernel-azure-vdsoUpgrade dtb-alteraUpgrade dtb-broadcomUpgrade dtb-allwinnerUpgrade kernel-kvmsmall-vdsoUpgrade kernel-default-base-rebuildUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-azureUpgrade gfs2-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-devel-azureUpgrade kernel-rt-develUpgrade ocfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-default-develUpgrade kernel-source-azureUpgrade kernel-develUpgrade kernel-64kb-optionalUpgrade kernel-sourceUpgrade dtb-mediatekUpgrade dtb-xilinxUpgrade dtb-socionextUpgrade dtb-armUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade ocfs2-kmp-rtUpgrade kernel-default-vdsoUpgrade kernel-default-optionalUpgrade kernel-64kb-develUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade reiserfs-kmp-rtUpgrade cluster-md-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-kvmsmallUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-extraUpgrade kernel-default-livepatch-develUpgrade kernel-default-extraUpgrade dtb-amazonUpgrade cluster-md-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade kernel-zfcpdumpUpgrade dtb-appleUpgrade dtb-apmUpgrade kernel-kvmsmall-develUpgrade kernel-debug-develUpgrade kselftests-kmp-64kbUpgrade dlm-kmp-azureUpgrade dtb-renesasUpgrade dtb-exynosUpgrade kernel-devel-rtUpgrade kernel-debugUpgrade kernel-64kbUpgrade gfs2-kmp-rtUpgrade dtb-lgUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-symsUpgrade kernel-obs-qa | Dec 5, 2025 | Jun 12, 2025 |
| Ubuntu | — | Upgrade linux-image-azure-fdeUpgrade linux-image-generic-64kUpgrade linux-image-6.11.0-1015-azure-fdeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.11.0-1015-gcp-64kUpgrade linux-image-6.11.0-1014-awsUpgrade linux-image-oracle-64kUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.11.0-26-generic-64kUpgrade linux-image-6.11.0-1010-realtimeUpgrade linux-image-6.11.0-1022-oemUpgrade linux-image-genericUpgrade linux-image-gcpUpgrade linux-image-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1014-lowlatency-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-1016-oracleUpgrade linux-image-6.11.0-1014-lowlatencyUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1015-gcpUpgrade linux-image-virtualUpgrade linux-image-6.11.0-1015-azureUpgrade linux-image-realtimeUpgrade linux-image-awsUpgrade linux-image-6.11.0-26-genericUpgrade linux-image-6.11.0-1016-oracle-64kUpgrade linux-image-6.11.0-1013-raspiUpgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-24.04 | 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