Skip to content
CVE PROGRAM SOURCE RECORD7.1 High

CVE-2026-90260

btrfs: zoned: don't clobber the extent buffer when zeroing it out

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: zoned: don't clobber the extent buffer when zeroing it out On a zoned filesystem a freed-but-still-dirty tree block is written out as zeros (EXTENT_BUFFER_ZONED_ZEROOUT) only to keep the zone write pointer advancing. btree_csum_one_bio() implemented this by memzeroing the extent buffer's own folios before submission. That destroys the in-memory buffer while it may still be referenced. In particular btrfs_free_tree_block() can run on it afterwards and reads the header to add a delayed reference; once the header has been zeroed it frees bytenr 0 and corrupts the extent tree (the btrfs_header_bytenr(buf) != 0 ASSERT in btrfs_free_tree_block(), or an "unable to find ref" abort). It is flaky and reproduces under fsstress, e.g. generic/461 and generic/013. Write the zeros to disk from the shared zero page instead and leave the extent buffer content untouched, so any later reference - including the delayed reference from btrfs_free_tree_block() - still sees a valid header. end_bbio_meta_write() now clears writeback on the buffer's own folios, as the bio no longer carries them.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • aa6313e6ff2bfbf736a2739047bba355d8241584 to < efa5084d08030aa557fdefa3e4a73b2501b7d207affected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to < 92484ad014f2e2b0e0e7bbc1610951e978cf557caffected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to < 98e3747587f9f87f010d8d7e55786216249a94afaffected
  • aa6313e6ff2bfbf736a2739047bba355d8241584 to < db4b9eefc8ee0bcaeee4d5e6a7313905f6a2fe7caffected

Linux Linux

Default version status: affected

  • 6.8affected
  • 0 to < 6.8unaffected
  • 6.12.114 to ≤ 6.12.*unaffected
  • 6.18.52 to ≤ 6.18.*unaffected
  • 7.2.6 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References