CVE-2025-37856

btrfs: harden block_group::bg_list against list_del() races

State
Published
Severity
7.8 High
Published
May 9, 2025
Updated
Oct 30, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

btrfs: harden block_group::bg_list against list_del() races

As far as I can tell, these calls of list_del_init() on bg_list cannot run concurrently with btrfs_mark_bg_unused() or btrfs_mark_bg_to_reclaim(), as they are in transaction error paths and situations where the block group is readonly.

However, if there is any chance at all of racing with mark_bg_unused(), or a different future user of bg_list, better to be safe than sorry.

Otherwise we risk the following interleaving (bg_list refcount in parens)

T1 (some random op) T2 (btrfs_mark_bg_unused) !list_empty(&bg->bg_list); (1) list_del_init(&bg->bg_list); (1) list_move_tail (1) btrfs_put_block_group (0) btrfs_delete_unused_bgs bg = list_first_entry list_del_init(&bg->bg_list); btrfs_put_block_group(bg); (-1)

Ultimately, this results in a broken ref count that hits zero one deref early and the real final deref underflows the refcount, resulting in a WARNING.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 01eca70ef8cf499d0cb6d1bbd691558e7792cf17 to before ccb20413e7c82e4429c81f10d0e36cd9c0c643cdAffected
  • a9f189716cf15913c453299d72f69c51a9b0f86b to before 9039afe6240ae01d6caf2fa731590ac74fb8a69bAffected
  • a9f189716cf15913c453299d72f69c51a9b0f86b to before bf089c4d1141b27332c092b1dcca5022c415a3b6Affected
  • a9f189716cf15913c453299d72f69c51a9b0f86b to before 909e60fb469d4101c6b08cf6e622efb062bb24a1Affected
  • a9f189716cf15913c453299d72f69c51a9b0f86b to before 185fd73e5ac06027c4be9a129e59193f6a3ef202Affected
  • a9f189716cf15913c453299d72f69c51a9b0f86b to before 7511e29cf1355b2c47d0effb39e463119913e2f6Affected
  • edf3b5aadb2515c808200b904baa5b70a727f0acAffected
  • 5d19abcffd8404078dfa7d7118cec357b5e7bc58Affected
  • 6.1.47 to before 6.1.191Affected
  • 5.15.128 to before 5.16Affected
  • 6.4.12 to before 6.5Affected
LinuxLinux
  • 6.5Affected
  • before 6.5Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.24 through 6.12.*Not affected
  • 6.13.12 through 6.13.*Not affected
  • 6.14.3 through 6.14.*Not affected
  • 6.15 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.