{"affected":[{"defaultStatus":"unaffected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"lessThan":"0c7a8cad7c96012a9157a189649e569d0390f384","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"f5db935d257023c3ef410bd39163b949b0e5a55d","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"6290507ecc0dd6dd40759729cbbbd49b1d2a63c4","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"8433fd005c25fd127021f67c9144a879fb585572","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"2f2cfa16dd0f4179bb988139dd37d00a42324f6c","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"73df2ff409f3db95029982fe3656329568e3715d","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"104f09e02038b0fc6bbb718b3976af029e15c1d0","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"},{"lessThan":"bc9781c0247de107876f32929f1637db93a42b34","status":"affected","version":"b29d4986d0da1a27cd35917cdb433672f5c95d7f","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","source":"CNA: Linux","vendor":"Linux","versions":[{"status":"affected","version":"4.12"},{"lessThan":"4.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.273","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.224","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.191","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.161","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.115","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.59","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.13","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cveId":"CVE-2026-99256","cwes":[],"description":"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 <cache>, run: 'dmsetup\nsuspend <cache> && dmsetup resume <cache>'. This will trigger a kernel\nwarning:\n\nDEBUG_RWSEMS_WARN_ON((rwsem_owner(sem) != current) && !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't\nactually used by anything. This is replaced by the background_work queue\nand counter.","epss":null,"exploits":[],"kev":null,"metrics":[],"modifiedAt":1793706045109,"publishedAt":1793705114077,"references":[{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/0c7a8cad7c96012a9157a189649e569d0390f384"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/f5db935d257023c3ef410bd39163b949b0e5a55d"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/6290507ecc0dd6dd40759729cbbbd49b1d2a63c4"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/8433fd005c25fd127021f67c9144a879fb585572"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/2f2cfa16dd0f4179bb988139dd37d00a42324f6c"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/73df2ff409f3db95029982fe3656329568e3715d"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/104f09e02038b0fc6bbb718b3976af029e15c1d0"},{"source":"CNA: Linux","tags":[],"url":"https://git.kernel.org/stable/c/bc9781c0247de107876f32929f1637db93a42b34"}],"remediation":[],"revision":"bfb46b1bbf40b160ec3848a64271484515fee2aa72bfab416ccd47f51b19a779","sources":[{"modifiedAt":1793706045109,"name":"CNA: Linux","retrievedAt":1793707744574,"url":"https://www.cve.org/CVERecord?id=CVE-2026-99256"}],"ssvc":null,"status":"published","title":"dm cache: fix issue with background work locking","updatedAt":1793707744574}