CVE-2026-89830
N/A
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 < 2d50b6d47e5671ff6a25834c5906d443356191f0 | affected |
| Linux | Linux | 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 < dde99df5a9d3b0ca6ac0a86f98799685f7399432 | affected |
| Linux | Linux | 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 < 931e1aa4d44c52ff8e0feb38420a8827c62e886b | affected |
| Linux | Linux | 7d009e048d7cfcc21d400f2aba4c8bacbdebbd47 < 0f9af07ecc1ab486038373db6ae0436c5d674b19 | affected |
| Linux | Linux | 6.9 | affected |
| Linux | Linux | 0 < 6.9 | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/2d50b6d47e5671ff6a25834c5906d443356191f0
- https://git.kernel.org/stable/c/dde99df5a9d3b0ca6ac0a86f98799685f7399432
- https://git.kernel.org/stable/c/931e1aa4d44c52ff8e0feb38420a8827c62e886b
- https://git.kernel.org/stable/c/0f9af07ecc1ab486038373db6ae0436c5d674b19
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.