OSDN Git Service

ext4: correct validation check of inode table in ext4_valid_block_bitmap
authorKemeng Shi <shikemeng@huaweicloud.com>
Tue, 21 Feb 2023 11:59:14 +0000 (19:59 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 24 Mar 2023 03:00:08 +0000 (23:00 -0400)
commit3d61ef10f521b5c6906a5ba71573d5503aee2aa5
treeaa8c0e4c9b00ecb8a67c0767de2baeeeddd6351c
parentb5aa06bfe9ad13c75d425839ee2aca045e3c688c
ext4: correct validation check of inode table in ext4_valid_block_bitmap

1.Last valid cluster of inode table is EXT4_B2C(sbi, offset +
sbi->s_itb_per_group - 1). We should make sure last valid cluster is <
max_bit, i.e., EXT4_B2C(sbi, offset + sbi->s_itb_per_group - 1) is <
max_bit rather than EXT4_B2C(sbi, offset + sbi->s_itb_per_group) is
< max_bit.

2.Bit search length should be last valid cluster plus 1, i.e.,
EXT4_B2C(sbi, offset + sbi->s_itb_per_group - 1) + 1 rather than
EXT4_B2C(sbi, offset + sbi->s_itb_per_group).

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
Link: https://lore.kernel.org/r/20230221115919.1918161-3-shikemeng@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/balloc.c