CVE-2026-89830 PUBLISHED

f2fs: fix valid block count leak on data block allocation failure

Assigner: Linux
Reserved: 11.09.2026 Published: 16.09.2026 Updated: 16.09.2026

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

f2fs: fix valid block count leak on data block allocation failure

In __allocate_data_block(), when allocating a new data block (dn->data_blkaddr == NULL_ADDR), inc_valid_block_count() is called first to increment total_valid_block_count and i_blocks. If the subsequent f2fs_allocate_data_block() fails, the function returns the error directly without rolling back the already-incremented block counts, causing a permanent leak.

Fix this by calling dec_valid_block_count() to undo the increment before returning the error. The condition old_blkaddr == NULL_ADDR precisely identifies the case where inc_valid_block_count() was called.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 to 2d50b6d47e5671ff6a25834c5906d443356191f0 (excl.)
  • affected from 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 to dde99df5a9d3b0ca6ac0a86f98799685f7399432 (excl.)
  • affected from 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 to 931e1aa4d44c52ff8e0feb38420a8827c62e886b (excl.)
  • affected from 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 to 0f9af07ecc1ab486038373db6ae0436c5d674b19 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 6.9 is affected
  • unaffected from 0 to 6.9 (excl.)
  • unaffected from 6.12.110 to 6.12.* (incl.)
  • unaffected from 6.18.51 to 6.18.* (incl.)
  • unaffected from 7.2.5 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References