CVE-2025-71159

btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node()

published January 23, 2026

CVSS
—
EPSS
0%
Percentile
15.0
In the wild
Unconfirmed
What it is

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

btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node()

Previously, btrfs_get_or_create_delayed_node() set the delayed_node's

refcount before acquiring the root->delayed_nodes lock.

Commit e8513c012de7 ("btrfs: implement ref_tracker for delayed_nodes")

moved refcount_set inside the critical section, which means there is

no longer a memory barrier between setting the refcount and setting

btrfs_inode->delayed_node.

Without that barrier, the stores to node->refs and

btrfs_inode->delayed_node may become visible out of order. Another

thread can then read btrfs_inode->delayed_node and attempt to

increment a refcount that hasn't been set yet, leading to a

refcounting bug and a use-after-free warning.

The fix is to move refcount_set back to where it was to take

advantage of the implicit memory barrier provided by lock

acquisition.

Because the allocations now happen outside of the lock's critical

section, they can use GFP_NOFS instead of GFP_ATOMIC.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00246 · 15.0th percentile
Published
2026-01-23T15:23Z
EPSS history
Timeline
  • 23 JAN 15:23Z
    btrfs: fix use-after-free warning in btrfs_get_or_create_delayed_node()
    cvelistv5