CVE Catalog

CVE-2026-89830

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, __allocate_data_block() in the f2fs filesystem increments the valid block count via inc_valid_block_count() when allocating a new data block, but if the subsequent f2fs_allocate_data_block() fails, the function returns the error without rolling back that increment. This causes a permanent valid block count leak.

Risk Assessment

The block count leak can lead to incorrect free-space accounting and potentially to integrity or availability issues in the f2fs filesystem.

Recommendation

Update the Linux kernel to a version containing the fix that calls dec_valid_block_count() to undo the increment before returning the error.

Other vulnerabilities in Linux kernel (f2fs)

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS