The test in ext2fs_check_desc() is off by one; if the inode table goes all the way to the last block of the block group, it will falsely assert that it has extended past it. The last block of a range is start + len -1, not start + len. Testcase to follow. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Index: e2fsprogs-1.40.2/lib/ext2fs/check_desc.c =================================================================== --- e2fsprogs-1.40.2.orig/lib/ext2fs/check_desc.c +++ e2fsprogs-1.40.2/lib/ext2fs/check_desc.c @@ -61,7 +61,7 @@ errcode_t ext2fs_check_desc(ext2_filsys */ if (fs->group_desc[i].bg_inode_table < first_block || ((fs->group_desc[i].bg_inode_table + - fs->inode_blocks_per_group) > last_block)) + fs->inode_blocks_per_group - 1) > last_block)) return EXT2_ET_GDESC_BAD_INODE_TABLE; } return 0; - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html