CVE-2023-52668

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52668
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52668.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-52668
Downstream
Related
Published
2024-05-17T14:01:52Z
Modified
2025-10-16T12:46:16.784428Z
Summary
btrfs: zoned: fix lock ordering in btrfs_zone_activate()
Details

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

btrfs: zoned: fix lock ordering in btrfszoneactivate()

The btrfs CI reported a lockdep warning as follows by running generic generic/129.

WARNING: possible circular locking dependency detected 6.7.0-rc5+ #1 Not tainted


kworker/u5:5/793427 is trying to acquire lock: ffff88813256d028 (&cache->lock){+.+.}-{2:2}, at: btrfszonefinishonebg+0x5e/0x130 but task is already holding lock: ffff88810a23a318 (&fsinfo->zoneactivebgslock){+.+.}-{2:2}, at: btrfszonefinishonebg+0x34/0x130 which lock already depends on the new lock.

the existing dependency chain (in reverse order) is: -> #1 (&fsinfo->zoneactivebgslock){+.+.}-{2:2}: ... -> #0 (&cache->lock){+.+.}-{2:2}: ...

This is because we take fsinfo->zoneactivebgslock after a blockgroup's lock in btrfszone_activate() while doing the opposite in other places.

Fix the issue by expanding the fsinfo->zoneactivebgslock's critical section and taking it before a block_group's lock.

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
a7e1ac7bdc5af91af2d52e6269fdbd92fe9ee353
Fixed
6f74989f5909cdec9b1274641f0fa306b15bb476
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a7e1ac7bdc5af91af2d52e6269fdbd92fe9ee353
Fixed
1908e9d01e5395adff68d9d308a0fb15337e6272
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
a7e1ac7bdc5af91af2d52e6269fdbd92fe9ee353
Fixed
b18f3b60b35a8c01c9a2a0f0d6424c6d73971dc3

Affected versions

v6.*

v6.5
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.2
v6.6.3
v6.6.4
v6.6.5
v6.6.6
v6.6.7
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.7.1
v6.7.2

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.15
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.3