GHSA-PR5P-X5RG-2942
Vulnerability from github – Published: 2026-11-03 12:31 – Updated: 2026-11-03 12:31In 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 , run: 'dmsetup suspend && dmsetup resume '. 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.
{
"affected": [],
"aliases": [
"CVE-2026-99256"
],
"database_specific": {
"cwe_ids": [],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-11-03T12:17:32Z",
"severity": null
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm cache: fix issue with background work locking\n\ndm cache used a rw_semaphore for background_work_lock. Write locks on\nrw_semaphores have strict owner semantics, but there was no guarantee\nthat the process that locked background_work_lock was the same process\nthat unlocked it. This can be easily seen using a kernel compiled with\nCONFIG_DEBUG_RWSEMS. Given a dm cache device \u003ccache\u003e, run: \u0027dmsetup\nsuspend \u003ccache\u003e \u0026\u0026 dmsetup resume \u003ccache\u003e\u0027. This will trigger a kernel\nwarning:\n\nDEBUG_RWSEMS_WARN_ON((rwsem_owner(sem) != current) \u0026\u0026 !rwsem_test_oflags(sem, RWSEM_NONSPINNABLE))\n\ntriggered by cache_resume(). To fix this, switch from a rw_semaphore to\na spinlock and a wait queue. dm cache already has a wait queue and\nassociated counter, migration_wait and nr_allocated_migrations, that was\ngetting woken up when background work was getting completed, but wasn\u0027t\nactually used by anything. This is replaced by the background_work queue\nand counter.",
"id": "GHSA-pr5p-x5rg-2942",
"modified": "2026-11-03T12:31:50Z",
"published": "2026-11-03T12:31:50Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-99256"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/0c7a8cad7c96012a9157a189649e569d0390f384"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/104f09e02038b0fc6bbb718b3976af029e15c1d0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/2f2cfa16dd0f4179bb988139dd37d00a42324f6c"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/6290507ecc0dd6dd40759729cbbbd49b1d2a63c4"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/73df2ff409f3db95029982fe3656329568e3715d"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/8433fd005c25fd127021f67c9144a879fb585572"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/bc9781c0247de107876f32929f1637db93a42b34"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/f5db935d257023c3ef410bd39163b949b0e5a55d"
}
],
"schema_version": "1.4.0",
"severity": []
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.