CVE-2025-21807

block: fix queue freeze vs limits lock order in sysfs store methods

MEDIUM
5.5
CVSS Score
Published: February 27, 2025 at 08:00 PM UTC
Updated: July 18, 2026 at 04:36 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: block: fix queue freeze vs limits lock order in sysfs store methods queue_attr_store() always freezes a device queue before calling the attribute store operation. For attributes that control queue limits, the store operation will also lock the queue limits with a call to queue_limits_start_update(). However, some drivers (e.g. SCSI sd) may need to issue commands to a device to obtain limit values from the hardware with the queue limits locked. This creates a potential ABBA deadlock situation if a user attempts to modify a limit (thus freezing the device queue) while the device driver starts a revalidation of the device queue limits. Avoid such deadlock by not freezing the queue before calling the ->store_limit() method in struct queue_sysfs_entry and instead use the queue_limits_commit_update_frozen helper to freeze the queue after taking the limits lock. This also removes taking the sysfs lock for the store_limit method as it doesn't protect anything here, but creates even more nesting. Hopefully it will go away from the actual sysfs methods entirely soon. (commit log adapted from a similar patch from Damien Le Moal)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.9 ≤ v < 6.12.966.9 ≤ v < 6.13.26.9 ≤ v < 6.14327ca9d53bfbb918867313049bba7046900f736.9
Vendor states this is fixed in 1645cd7fd42c236c952e9228badcac4fea1829ea (fixed)
Vendor states this is fixed in 8985da5481562e96b95e94ed8e5cc9b6565eb82b (fixed)
Vendor states this is fixed in c99f66e4084a62a2cc401c4704a84328aeddc9ec (fixed)
Vendor states this is fixed in 6.12.96 (unaffected)
Vendor states this is fixed in 6.13.2 (unaffected)
Vendor states this is fixed in 6.14 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet. What the record does show:

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-667

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card