CVE-2023-52699

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-52699
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-52699.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-52699
Downstream
Related
Published
2024-05-19T11:15:47Z
Modified
2025-08-09T19:01:28Z
Summary
[none]
Details

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

sysv: don't call sbbread() with pointerslock held

syzbot is reporting sleep in atomic context in SysV filesystem [1], for sbbread() is called with rwspinlock held.

A "writelock(&pointerslock) => readlock(&pointerslock) deadlock" bug and a "sbbread() with writelock(&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 pointerslock lock to the callers, but instead introduced a "sbbread() with readlock(&pointerslock)" bug (which made this problem easier to hit).

Al Viro suggested that why not to do like getbranch()/getblock()/ findshared() in Minix filesystem does. And doing like that is almost a revert of "[PATCH] err1-40: sysvfs locking fix" except that getbranch() from with findshared() is called without writelock(&pointers_lock).

References

Affected packages