CVE-2023-52699

sysv: don't call sb_bread() with pointers_lock held

State
Published
Severity
5.3 Medium
Published
May 19, 2024
Updated
Oct 15, 2026
Reserved
Mar 7, 2024

Read the record on cve.org

Description

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).

Scores

CVSSScoreVectorSource
3.15.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LCISA-ADP

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 13b33feb2ebddc2b1aa607f553566b18a4af1d76Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 1b4fe801b5bedec2b622ddb18e5c9bf26c63d79fAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 674c1c4229e743070e09db63a23442950ff000d1Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before fd203d2c671bdee9ab77090ff394d3b71b627927Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 53cb1e52c9db618c08335984d1ca80db220ccf09Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 89e8524135a3902e7563a5a59b7b5ec1bf4904acAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before a69224223746ab96d43e5db9d22d136827b7e2d3Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before f123dc86388cb669c3d6322702dc441abc35c31eAffected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 4.19.312 through 4.19.*Not affected
  • 5.4.274 through 5.4.*Not affected
  • 5.10.215 through 5.10.*Not affected
  • 5.15.155 through 5.15.*Not affected
  • 6.1.86 through 6.1.*Not affected
  • 6.6.27 through 6.6.*Not affected
  • 6.8.6 through 6.8.*Not affected
  • 6.9 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.