In the Linux kernel, the following vulnerability has been resolved:
IB/core: Fix a nested dead lock as part of ODP flow
Fix a nested dead lock as part of ODP flow by using mmput_async().
From the below call trace [1] can see that calling mmput() once we have the umem_odp->umem_mutex locked as required by ib_umem_odp_map_dma_and_lock() might trigger in the same task the exit_mmap()->__mmu_notifier_release()->mlx5_ib_invalidate_range() which may dead lock when trying to lock the same mutex.
Moving to use mmput_async() will solve the problem as the above exit_mmap() flow will be called in other task and will be executed once the lock will be available.
[1] [64843.077665] task:kworker/u133:2 state:D stack: 0 pid:80906 ppid: 2 flags:0x00004000 [64843.077672] Workqueue: mlx5_ib_page_fault mlx5_ib_eqe_pf_action [mlx5_ib] [64843.077719] Call Trace: [64843.077722] <TASK> [64843.077724] __schedule+0x23d/0x590 [64843.077729] schedule+0x4e/0xb0 [64843.077735] schedule_preempt_disabled+0xe/0x10 [64843.077740] __mutex_lock.constprop.0+0x263/0x490 [64843.077747] __mutex_lock_slowpath+0x13/0x20 [64843.077752] mutex_lock+0x34/0x40 [64843.077758] mlx5_ib_invalidate_range+0x48/0x270 [mlx5_ib] [64843.077808] __mmu_notifier_release+0x1a4/0x200 [64843.077816] exit_mmap+0x1bc/0x200 [64843.077822] ? walk_page_range+0x9c/0x120 [64843.077828] ? __cond_resched+0x1a/0x50 [64843.077833] ? mutex_lock+0x13/0x40 [64843.077839] ? uprobe_clear_state+0xac/0x120 [64843.077860] mmput+0x5f/0x140 [64843.077867] ib_umem_odp_map_dma_and_lock+0x21b/0x580 [ib_core] [64843.077931] pagefault_real_mr+0x9a/0x140 [mlx5_ib] [64843.077962] pagefault_mr+0xb4/0x550 [mlx5_ib] [64843.077992] pagefault_single_data_segment.constprop.0+0x2ac/0x560 [mlx5_ib] [64843.078022] mlx5_ib_eqe_pf_action+0x528/0x780 [mlx5_ib] [64843.078051] process_one_work+0x22b/0x3d0 [64843.078059] worker_thread+0x53/0x410 [64843.078065] ? process_one_work+0x3d0/0x3d0 [64843.078073] kthread+0x12a/0x150 [64843.078079] ? set_kthread_struct+0x50/0x50 [64843.078085] ret_from_fork+0x22/0x30 [64843.078093] </TASK>
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 |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade bpftool-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-livepatch-5.10.144-127.601Upgrade perf-debuginfoUpgrade kernel-livepatch-5.15.69-37.134Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade python-perfUpgrade kernel-headersUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade bpftoolUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-devel | Aug 28, 2024 | May 3, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 3, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 3, 2024 |
| Suse | — | Upgrade kernel-azure-optionalUpgrade kernel-obs-qaUpgrade kernel-source-azureUpgrade ocfs2-kmp-64kbUpgrade kernel-zfcpdumpUpgrade dtb-alteraUpgrade kselftests-kmp-azureUpgrade dtb-caviumUpgrade kernel-64kbUpgrade kernel-syms-azureUpgrade dtb-freescaleUpgrade gfs2-kmp-azureUpgrade kernel-azure-extraUpgrade kernel-64kb-optionalUpgrade kernel-default-develUpgrade kernel-rt_debugUpgrade gfs2-kmp-rtUpgrade kernel-default-extraUpgrade kernel-debug-develUpgrade dtb-hisiliconUpgrade kernel-default-optionalUpgrade kernel-kvmsmallUpgrade cluster-md-kmp-rtUpgrade dtb-lgUpgrade kernel-rt-optionalUpgrade kernel-default-livepatchUpgrade gfs2-kmp-64kbUpgrade kernel-symsUpgrade kernel-azure-develUpgrade kernel-source-rtUpgrade dtb-marvellUpgrade cluster-md-kmp-azureUpgrade kernel-64kb-livepatch-develUpgrade kernel-macrosUpgrade dtb-qcomUpgrade kernel-devel-azureUpgrade reiserfs-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-amazonUpgrade kernel-azure-livepatch-develUpgrade kernel-sourceUpgrade dtb-amdUpgrade kernel-64kb-develUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-debugUpgrade dtb-exynosUpgrade kernel-debug-livepatch-develUpgrade kernel-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt_debug-develUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-amlogicUpgrade dtb-broadcomUpgrade kernel-default-vdsoUpgrade kselftests-kmp-64kbUpgrade dtb-apmUpgrade kernel-kvmsmall-develUpgrade dtb-appleUpgrade kernel-docs-htmlUpgrade kernel-docsUpgrade reiserfs-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-rt-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-default-base-rebuildUpgrade reiserfs-kmp-azureUpgrade dtb-socionextUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-baseUpgrade kernel-defaultUpgrade dtb-allwinnerUpgrade dtb-nvidiaUpgrade dtb-rockchipUpgrade kselftests-kmp-defaultUpgrade dtb-sprdUpgrade kernel-azure-vdsoUpgrade cluster-md-kmp-64kbUpgrade dtb-armUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-develUpgrade dtb-renesasUpgrade kernel-rt-extraUpgrade kernel-obs-buildUpgrade kernel-devel-rtUpgrade kernel-azureUpgrade kernel-64kb-extraUpgrade dlm-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-rtUpgrade kselftests-kmp-rtUpgrade kernel-debug-vdsoUpgrade kernel-default-livepatch-develUpgrade gfs2-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-source-vanillaUpgrade dtb-xilinxUpgrade dtb-mediatekUpgrade dlm-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-livepatchUpgrade reiserfs-kmp-rt | Aug 9, 2024 | May 3, 2024 |
| Ubuntu | — | Upgrade linux-gkeop-5.15Upgrade linux-aws-5.15Upgrade linux-awsUpgrade linux-azure-fdeUpgrade linux-realtimeUpgrade linux-lowlatency-hwe-5.15Upgrade linux-gcpUpgrade linux-riscv-5.15Upgrade linux-gkeopUpgrade linux-gkeUpgrade linux-intel-iotgUpgrade linux-nvidiaUpgrade linux-ibmUpgrade linux-kvmUpgrade linux-azureUpgrade linux-azure-fde-5.15Upgrade linux-raspiUpgrade linuxUpgrade linux-azure-5.15Upgrade linux-gcp-5.15Upgrade linux-oracleUpgrade linux-intel-iotg-5.15Upgrade linux-hwe-5.15Upgrade linux-lowlatencyUpgrade linux-oracle-5.15 | Nov 19, 2024 | May 3, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 3, 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