Vulnerability · Published Sep 11, 2026 · Assigned by Linux

CVE-2026-89491ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin()

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 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 87.8% 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: ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin() Patch series "ocfs2: cluster: o2hb_region_pin() fixes", v2. This series fixes three related issues in o2hb_region_pin(), all are from the original implementation in commit: 58a3158a5d17 ("ocfs2/cluster: Pin/unpin o2hb regions"): 1) It is called with o2hb_live_lock (a spinlock) held, but the underlying configfs_depend_item() sleeps (takes inode rwsem and pins the filesystem). This triggers BUG under CONFIG_DEBUG_ATOMIC_SLEEP. 2) When called from the configfs drop_item callback, it creates a lock order inversion: parent inode_lock -> configfs root inode_lock, which can deadlock against subsystem unregistration paths taking root -> parent. 3) If pinning fails partway through o2hb_region_inc_user(), the o2hb_dependent_users counter is leaked and partially-pinned regions are never released, leaving heartbeat regions unprotected on subsequent mounts. Patch 1 reworks o2hb_region_pin() to drop o2hb_live_lock across each sleeping configfs_depend_item() call, using a config_item reference to keep the region alive while unlocked. Patch 2 adds a from_callback parameter to select configfs_depend_item_unlocked() when called from configfs context, avoiding the inode_lock nesting. Patch 3 fixes the error path in o2hb_region_inc_user() to unpin and decrement the counter on failure. This patch (of 3): o2hb_region_pin() is always called with the o2hb_live_lock spinlock held (from o2hb_region_inc_user() and o2hb_heartbeat_group_drop_item()), but it calls o2nm_depend_item() -> configfs_depend_item(), which sleeps: it pins the configfs filesystem and takes the configfs root inode rwsem. Under CONFIG_DEBUG_ATOMIC_SLEEP this triggers: BUG: sleeping function called from invalid context at kernel/locking/rwsem.c in_atomic(): 1, ... name: mount.ocfs2 down_write configfs_depend_item o2hb_region_pin o2hb_region_inc_user o2hb_register_callback dlm_register_domain_handlers ... ocfs2_dlm_init ocfs2_mount_volume ocfs2_fill_super Rework o2hb_region_pin() to pin one region at a time with the lock dropped across the sleeping call: under o2hb_live_lock find the next eligible region and take a config_item reference to keep it alive, drop the lock, call o2nm_depend_item(), then retake the lock and record the pin. The config_item_put() is done with the lock released as well, since o2hb_region_release() also acquires o2hb_live_lock and can sleep. The region list may change while unlocked, so the scan restarts from the top after each pin. Local heartbeat still pins only the matching region; global heartbeat pins all eligible regions. The unpin path is unaffected: configfs_undepend_item() only takes a spinlock and does not sleep.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.190-1DEBIAN-CVE-2026-89491
Debian:13linux6.12.111-1DEBIAN-CVE-2026-89491
Debian:14linux7.2.6-1DEBIAN-CVE-2026-89491
Debian:12linux-6.126.12.111-1~deb12u1DEBIAN-CVE-2026-89491
Ubuntu:22.04:LTSlinux5.15.0-202.212UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-aws5.15.0-1119.126UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure5.15.0-1125.134UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1124.133UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gcp5.15.0-1120.130UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gke5.15.0-1115.121UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1102.110UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-ibm5.15.0-1113.117UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1114.120UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-kvm5.15.0-1111.116UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-197.207UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1114.115UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1070.72UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1059.59UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oracle5.15.0-1116.122UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-89491
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2026-89491
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2026-89491
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2026-89491

Affected products (as reported)

VendorProductVersions
Linux Linux 58a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before 4d64f8da82fb9e8dbd5aa9b64c9bb6ac0decea0358a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before 3b790774280a610f8bdbd5d4260a07345bcf8e0458a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before 0cbc2f20a6ea7b4a59efa9171b7c694cdd19650758a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before c9be4de77f97f383b750698e1517fd296041f4bb58a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before 49002acc520c61002ad195894ac391c94317d3ba58a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before ce035f208d68b812d83e5482980f2b1c88a9cd9458a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before 470212a5eefabcc16b8e2f7fe2844b8737fe571c58a3158a5d17ddf4894db9e8ccaf92093ff8e42e – before af09df89db9a68a1d76df0f75667998135bc8d65
Linux Linux 2.6.38

References