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