CVE-2022-50293

btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range

published September 15, 2025

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

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

btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range

If we get -ENOMEM while dropping file extent items in a given range, at

btrfs_drop_extents(), due to failure to allocate memory when attempting to

increment the reference count for an extent or drop the reference count,

we handle it with a BUG_ON(). This is excessive, instead we can simply

abort the transaction and return the error to the caller. In fact most

callers of btrfs_drop_extents(), directly or indirectly, already abort

the transaction if btrfs_drop_extents() returns any error.

Also, we already have error paths at btrfs_drop_extents() that may return

-ENOMEM and in those cases we abort the transaction, like for example

anything that changes the b+tree may return -ENOMEM due to a failure to

allocate a new extent buffer when COWing an existing extent buffer, such

as a call to btrfs_duplicate_item() for example.

So replace the BUG_ON() calls with proper logic to abort the transaction

and return the error.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00159 · 4.7th percentile
Published
2025-09-15T14:45Z
EPSS history
Timeline
  • 15 SEP 14:45Z
    btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range
    cvelistv5