CVE-2026-99256: Linux kernel · dm cache: fix issue with background work locking
Affects Linux kernelSource CVE Database V5
Not known to be exploited · fixed in f5db935d257023c3ef410bd39163b949b0e5a55d : update Linux kernel when convenient.
Data as of 3 Nov 2026, 11:58 UTC
Rated Medium by Threat Radar's AI analysis · CVSS not yet scored by NVD
Thin evidence
One scorer or none- Patch
- Available – fixed in f5db935d257023c3ef410bd39163b949b0e5a55d, bc9781c0247de107876f32929f1637db93a42b34, 6290507ecc0dd6dd40759729cbbbd49b1d2a63c4 +5
Exploitation evidence
Disclosed: evidence found.
CVE published 3 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 3 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
AI-suggested
A fix is available and has been applied in specific Linux kernel commits. Users should update to a Linux kernel version that includes the fix identified by the commits listed in establishedFacts.fixedVersions. No additional mitigation actions are required beyond applying the official patch.
Description
In the Linux kernel, the following vulnerability has been resolved: dm cache: fix issue with background work locking dm cache used a rw_semaphore for background_work_lock. Write locks on rw_semaphores have strict owner semantics, but there was no guarantee that the process that locked background_work_lock was the same process that unlocked it. This can be easily seen using a kernel compiled with CONFIG_DEBUG_RWSEMS. Given a dm cache device <cache>, run: 'dmsetup suspend <cache> && dmsetup resume <cache>'. This will trigger a kernel warning: DEBUG_RWSEMS_WARN_ON((rwsem_owner(sem) != current) && !rwsem_test_oflags(sem, RWSEM_NONSPINNABLE)) triggered by cache_resume(). To fix this, switch from a rw_semaphore to a spinlock and a wait queue. dm cache already has a wait queue and associated counter, migration_wait and nr_allocated_migrations, that was getting woken up when background work was getting completed, but wasn't actually used by anything. This is replaced by the background_work queue and counter.
References
- git.kernel.org/stable/c/0c7a8cad7c96012a9157a189649e569d0390f384 (opens in a new tab)
- git.kernel.org/stable/c/f5db935d257023c3ef410bd39163b949b0e5a55d (opens in a new tab)
- git.kernel.org/stable/c/6290507ecc0dd6dd40759729cbbbd49b1d2a63c4 (opens in a new tab)
- git.kernel.org/stable/c/8433fd005c25fd127021f67c9144a879fb585572 (opens in a new tab)
- git.kernel.org/stable/c/2f2cfa16dd0f4179bb988139dd37d00a42324f6c (opens in a new tab)
- git.kernel.org/stable/c/73df2ff409f3db95029982fe3656329568e3715d (opens in a new tab)
- git.kernel.org/stable/c/104f09e02038b0fc6bbb718b3976af029e15c1d0 (opens in a new tab)
- git.kernel.org/stable/c/bc9781c0247de107876f32929f1637db93a42b34 (opens in a new tab)