2026-09-25 08:45:51
Displayed 23 times
Fixed bugs in ext4fs
We added a regression test suite for ext4fs and it actually caught production bugs.
Bugs fixed today in ext4fs :
- Out-of-range physical extent blocks were accepted instead of returning an error.
- Extent headers were insufficiently validated: magic, depth, entry count, maximum capacity, and child-depth
consistency.
- Index nodes did not fully validate ordering, child block ranges, or reserved fields.
- Leaf extents did not reject zero lengths, logical overflow, overlap, bad ordering, or physical ranges crossing
the filesystem boundary.
- External extent blocks were used without verifying their metadata checksums.
- ext4fs_buf_alloc() could ignore an extent-lookup error and continue allocating into a corrupt tree.
- The allocation locality hint walked an external leaf without full validation; that unsafe optimization was
removed.
- Journal and ordinary extent paths had separate checksum logic; they now share one verifier.
- The redundant always-true error == 0 condition was removed.
- Arithmetic was kept safe for 32-bit systems using explicit 64-bit calculations.