In the Linux kernel, the following vulnerability has been resolved:
sysv: don't call sb_bread() with pointers_lock held
syzbot is reporting sleep in atomic context in SysV filesystem [1], for
sb_bread() is called with rw_spinlock held.
A "write_lock(&pointers_lock) => read_lock(&pointers_lock) deadlock" bug
and a "sb_bread() with write_lock(&pointers_lock)" bug were introduced by
"Replace BKL for chain locking with sysvfs-private rwlock" in Linux 2.5.12.
Then, "[PATCH] err1-40: sysvfs locking fix" in Linux 2.6.8 fixed the
former bug by moving pointers_lock lock to the callers, but instead
introduced a "sb_bread() with read_lock(&pointers_lock)" bug (which made
this problem easier to hit).
Al Viro suggested that why not to do like get_branch()/get_block()/
find_shared() in Minix filesystem does. And doing like that is almost a
revert of "[PATCH] err1-40: sysvfs locking fix" except that get_branch()
from with find_shared() is called without write_lock(&pointers_lock).
Metrics
Affected Vendors & Products
References
History
Wed, 06 Nov 2024 17:15:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
cvssV3_1
|
cvssV3_1
|
Mon, 04 Nov 2024 13:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
References |
|
Thu, 19 Sep 2024 10:45:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Weaknesses | CWE-833 |
MITRE
Status: PUBLISHED
Assigner: Linux
Published: 2024-05-19T10:10:30.381Z
Updated: 2024-11-06T17:06:03.220Z
Reserved: 2024-03-07T14:49:46.890Z
Link: CVE-2023-52699
Vulnrichment
Updated: 2024-08-02T23:11:35.577Z
NVD
Status : Awaiting Analysis
Published: 2024-05-19T11:15:47.507
Modified: 2024-11-06T17:35:26.090
Link: CVE-2023-52699
Redhat