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 kernel-toolsUpgrade kernel-tools-develUpgrade bpftoolUpgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade kernel-livepatch-5.15.69-37.134Upgrade perfUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.10.144-127.601Upgrade python-perf-debuginfoUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-debuginfo | 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-debug-livepatch-develUpgrade kernel-devel-azureUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kselftests-kmp-azureUpgrade ocfs2-kmp-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-symsUpgrade dtb-hisiliconUpgrade kernel-kvmsmallUpgrade kernel-azure-develUpgrade kernel-docs-htmlUpgrade dtb-apmUpgrade dtb-appleUpgrade kernel-64kb-develUpgrade dtb-amlogicUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-amazonUpgrade kernel-default-optionalUpgrade kernel-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt_debug-develUpgrade dtb-marvellUpgrade kselftests-kmp-64kbUpgrade cluster-md-kmp-defaultUpgrade kernel-sourceUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade dtb-amdUpgrade dtb-broadcomUpgrade kernel-source-rtUpgrade ocfs2-kmp-64kbUpgrade dlm-kmp-64kbUpgrade dtb-alteraUpgrade kernel-syms-azureUpgrade dtb-qcomUpgrade kernel-azure-livepatch-develUpgrade kernel-kvmsmall-develUpgrade kernel-obs-qaUpgrade gfs2-kmp-azureUpgrade kernel-default-develUpgrade kernel-azure-extraUpgrade dtb-exynosUpgrade gfs2-kmp-rtUpgrade dtb-freescaleUpgrade kernel-rt_debugUpgrade kernel-azure-optionalUpgrade dtb-lgUpgrade kernel-debug-develUpgrade dtb-caviumUpgrade kernel-source-azureUpgrade kernel-default-vdsoUpgrade kernel-default-extraUpgrade gfs2-kmp-64kbUpgrade kernel-macrosUpgrade kernel-rtUpgrade cluster-md-kmp-azureUpgrade kernel-default-livepatchUpgrade kernel-rt-optionalUpgrade kernel-devel-rtUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-defaultUpgrade dtb-xilinxUpgrade kernel-azureUpgrade kselftests-kmp-rtUpgrade dtb-sprdUpgrade dtb-nvidiaUpgrade kselftests-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-obs-buildUpgrade kernel-rt-develUpgrade gfs2-kmp-defaultUpgrade dtb-mediatekUpgrade kernel-rt_debug-livepatch-develUpgrade dlm-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-default-base-rebuildUpgrade kernel-defaultUpgrade dtb-allwinnerUpgrade kernel-default-baseUpgrade reiserfs-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-debug-vdsoUpgrade kernel-syms-rtUpgrade dtb-renesasUpgrade kernel-rt-extraUpgrade kernel-azure-vdsoUpgrade dtb-armUpgrade cluster-md-kmp-64kbUpgrade kernel-docsUpgrade dtb-socionextUpgrade dtb-rockchipUpgrade kernel-rt_debug-vdsoUpgrade kernel-rt-vdsoUpgrade kernel-develUpgrade kernel-rt-livepatchUpgrade ocfs2-kmp-azureUpgrade kernel-64kb-extraUpgrade dlm-kmp-defaultUpgrade dlm-kmp-azure | Aug 9, 2024 | May 3, 2024 |
| Ubuntu | — | Upgrade linux-gkeop-5.15Upgrade linux-realtimeUpgrade linux-gcpUpgrade linux-aws-5.15Upgrade linux-lowlatency-hwe-5.15Upgrade linux-azure-fdeUpgrade linux-awsUpgrade linux-gkeopUpgrade linux-kvmUpgrade linux-oracleUpgrade linux-ibmUpgrade linux-azure-fde-5.15Upgrade linux-intel-iotgUpgrade linux-gkeUpgrade linux-riscv-5.15Upgrade linux-lowlatencyUpgrade linux-raspiUpgrade linux-oracle-5.15Upgrade linux-nvidiaUpgrade linux-azureUpgrade linux-azure-5.15Upgrade linuxUpgrade linux-intel-iotg-5.15Upgrade linux-hwe-5.15Upgrade linux-gcp-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