Vulnerability · Published Oct 14, 2026 · Assigned by Linux

CVE-2026-98431RDMA/uverbs: Fix mmap_lock/disassociation_lock circular dependency

Unrated

In plain English

A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 10% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 90.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: RDMA/uverbs: Fix mmap_lock/disassociation_lock circular dependency Commit 51976c6cd786 ("RDMA/core: Provide rdma_user_mmap_disassociate() to disassociate mmap pages") introduced disassociation_lock to protect new mmap registrations against uverbs_user_mmap_disassociate(), but created an ABBA deadlock: Thread A (mmap / fork): mmap_lock -> disassociation_lock Thread B (disassociate): disassociation_lock -> mmap_lock Fix by removing disassociation_lock entirely and using the pre-existing hw_destroy_rwsem instead. hw_destroy_rwsem already provides the same protection: rdma_umap_open() and ib_uverbs_mmap() both use down_read_trylock() before registering a new VMA, so holding hw_destroy_rwsem in uverbs_user_mmap_disassociate() is sufficient to block new registrations. trylock is used in both mmap paths (not blocking down_read) because mmap_lock is already held on entry, and uverbs_user_mmap_disassociate() acquires mmap_lock internally — a blocking read would recreate the same deadlock. The only caller that was not taking hw_destroy_rwsem for write was rdma_user_mmap_disassociate(). Fix it to take the rwsem per-ufile while iterating under lists_mutex. This is safe because ib_uverbs_close() releases hw_destroy_rwsem entirely before acquiring lists_mutex, so the two locks are never held simultaneously. lockdep warning: [ 776.654252] ====================================================== [ 776.655214] WARNING: possible circular locking dependency detected [ 776.656167] 6.18.0for-upstream_debug_94e244d9ccab #1 Not tainted [ 776.657114] ------------------------------------------------------ [ 776.658087] devlink/14824 is trying to acquire lock: [ 776.658879] ffff88811170c800 (&mm->mmap_lock){++++}-{4:4}, at: uverbs_user_mmap_disassociate+0x168/0x780 [ib_uverbs] [ 776.660479] [ 776.660479] but task is already holding lock: [ 776.661460] ffff888142d92b08 (&file->disassociation_lock){+.+.}-{4:4}, at: uverbs_user_mmap_disassociate+0x39/0x780 [ib_uverbs] [ 776.663177] [ 776.663177] which lock already depends on the new lock. [ 776.663177] [ 776.664525] [ 776.664525] the existing dependency chain (in reverse order) is: [ 776.665724] [ 776.665724] -> #2 (&file->disassociation_lock){+.+.}-{4:4}: [ 776.666887] __mutex_lock+0x16d/0x2330 [ 776.667633] rdma_umap_open+0x129/0x280 [ib_uverbs] [ 776.668489] dup_mmap+0xa40/0x1790 [ 776.669170] copy_process+0x5dd2/0x6170 [ 776.669933] kernel_clone+0xb6/0x610 [ 776.670636] __do_sys_clone+0xb5/0xf0 [ 776.671354] do_syscall_64+0x70/0x12e0 [ 776.672083] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 776.672940] [ 776.672940] -> #1 (&mm->mmap_lock/1){+.+.}-{4:4}: [ 776.673985] down_write_nested+0x90/0x1e0 [ 776.674751] dup_mmap+0x201/0x1790 [ 776.675448] copy_process+0x5dd2/0x6170 [ 776.676180] kernel_clone+0xb6/0x610 [ 776.676904] __do_sys_clone+0xb5/0xf0 [ 776.677615] do_syscall_64+0x70/0x12e0 [ 776.678351] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 776.679239] [ 776.679239] -> #0 (&mm->mmap_lock){++++}-{4:4}: [ 776.680253] __lock_acquire+0x18c6/0x2ec0 [ 776.681018] lock_acquire+0x10e/0x2e0 [ 776.681742] down_read+0x95/0x430 [ 776.682395] uverbs_user_mmap_disassociate+0x168/0x780 [ib_uverbs] [ 776.683436] uverbs_destroy_ufile_hw+0x1ae/0x270 [ib_uverbs] [ 776.684416] ib_uverbs_remove_one+0x22b/0x420 [ib_uverbs] [ 776.685371] remove_client_context+0xa6/0xf0 [ib_core] [ 776.686342] disable_device+0x12b/0x240 [ib_core] [ 776.687249] __ib_unregister_device+0x269/0x460 [ib_core] [ 776.688233] ib_unregister_device+0x21/0x30 [ib_core] [ 776.689140] mlx5r_remove+0xd0/0x170 [mlx5_ib] [ 776.689999] device_release_driver_internal+0x3b2/0x5 ---truncated---

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:13linuxno fix listedDEBIAN-CVE-2026-98431
Debian:14linux7.2.8-1DEBIAN-CVE-2026-98431
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-98431
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-98431
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2026-98431
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2026-98431

Affected products (as reported)

VendorProductVersions
Linux Linux 51976c6cd786151b6a1bdf8b8b3334beac0ba99c – before 426f54f20b79c5b164a0472ad3f6ba36afcd08c651976c6cd786151b6a1bdf8b8b3334beac0ba99c – before a44a3f175eaee7e5aeb6a8fed381c4a0d5f492360598914a950ddfa694f410e482453cdbb926551586092a4e46d161d24f8106df082e24b8efe873826.11.11 – before 6.126.12.2 – before 6.13
Linux Linux 6.13

References