CVE-2026-53265

HIGH

dm cache policy smq: check allocation under invalidate lock

Title source: cna
STIX 2.1

Description

In the Linux kernel, the following vulnerability has been resolved: dm cache policy smq: check allocation under invalidate lock commit 2d1f7b65f5de ("dm cache policy smq: fix missing locks in invalidating cache blocks") added mq->lock around the destructive part of smq_invalidate_mapping(), but left the e->allocated check outside the critical section. That leaves a check-then-act race. Two concurrent invalidators can both observe e->allocated as true before either of them takes mq->lock. The first invalidator that acquires the lock removes the entry from the queues and hash table and then calls free_entry(), which clears e->allocated and puts the entry back on the free list. The second invalidator can then acquire mq->lock and continue with the stale result of the unlocked check. This can corrupt the SMQ queues or hash table by deleting an entry that is no longer on those structures. It can also hit the allocation check in free_entry() when the same entry is freed again. Move the allocation check under mq->lock so the predicate and the destructive operations are serialized by the same lock.

Scores

CVSS v3 7.8
EPSS 0.0013
EPSS Percentile 2.9%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Details

Status published
Products (27)
linux/Kernel 5.10.258 - 5.10.259linux
linux/Kernel 5.15.209 - 5.15.210linux
linux/Kernel 6.1.175 - 6.1.176linux
linux/Kernel 6.12.91 - 6.12.94linux
linux/Kernel 6.18.33 - 6.18.36linux
linux/Kernel 6.6.141 - 6.6.143linux
linux/Kernel 7.0.10 - 7.0.13linux
Linux/Linux 1b2bec4a7dcf5f00b7a1cbeeec8997841d783513 - 13da856c86fb8c2ccab95034fd77da1bb2c2a17c
Linux/Linux 2b62d0611c9af14a16bddf22df2612b4f40eb5a1 - c57570fba24016ec25ec046ab44db39143fb7a64
Linux/Linux 2d1f7b65f5deedd2e6b09fdc6ea27f8375f24b45 - d3f0a606b9f278ece8a0df626ded9c4044071235
... and 17 more
Published Jun 25, 2026
Tracked Since Jun 25, 2026