CVE-2022-49406

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49406
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49406.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49406
Downstream
Related
Published
2025-02-26T02:12:31Z
Modified
2025-10-15T21:13:45.591485Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
block: Fix potential deadlock in blk_ia_range_sysfs_show()
Details

In the Linux kernel, the following vulnerability has been resolved:

block: Fix potential deadlock in blkiarangesysfsshow()

When being read, a sysfs attribute is already protected against removal with the kobject node active reference counter. As a result, in blkiarangesysfsshow(), there is no need to take the queue sysfs lock when reading the value of a range attribute. Using the queue sysfs lock in this function creates a potential deadlock situation with the disk removal, something that a lockdep signals with a splat when the device is removed:

[ 760.703551] Possible unsafe locking scenario: [ 760.703551] [ 760.703554] CPU0 CPU1 [ 760.703556] ---- ---- [ 760.703558] lock(&q->sysfslock); [ 760.703565] lock(kn->active#385); [ 760.703573] lock(&q->sysfslock); [ 760.703579] lock(kn->active#385); [ 760.703587] [ 760.703587] * DEADLOCK *

Solve this by removing the mutexlock()/mutexunlock() calls from blkiarangesysfsshow().

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a2247f19ee1c5ad75ef095cdfb909a3244b88aa8
Fixed
dc107c805cde709866b59867ef72b9390199205e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a2247f19ee1c5ad75ef095cdfb909a3244b88aa8
Fixed
717b078bc745ba9a262abebed9806a17e8bbb77b
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a2247f19ee1c5ad75ef095cdfb909a3244b88aa8
Fixed
41e46b3c2aa24f755b2ae9ec4ce931ba5f0d8532

Affected versions

v5.*

v5.15
v5.15-rc7
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.17.1
v5.17.10
v5.17.11
v5.17.12
v5.17.13
v5.17.2
v5.17.3
v5.17.4
v5.17.5
v5.17.6
v5.17.7
v5.17.8
v5.17.9
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.18.1
v5.18.2

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.17.14
Type
ECOSYSTEM
Events
Introduced
5.18.0
Fixed
5.18.3