CVE-2025-21807

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

State
Published
Severity
Not scored
Published
Feb 27, 2025
Updated
Jul 18, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

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)

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0327ca9d53bfbb0918867313049bba7046900f73 to before 1645cd7fd42c236c952e9228badcac4fea1829eaAffected
  • 0327ca9d53bfbb0918867313049bba7046900f73 to before 8985da5481562e96b95e94ed8e5cc9b6565eb82bAffected
  • 0327ca9d53bfbb0918867313049bba7046900f73 to before c99f66e4084a62a2cc401c4704a84328aeddc9ecAffected
LinuxLinux
  • 6.9Affected
  • before 6.9Not affected
  • 6.12.96 through 6.12.*Not affected
  • 6.13.2 through 6.13.*Not affected
  • 6.14 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.