btrfs-progs: convert: Prevent accounting blocks beyond end of device
When looping across data block bitmap, __ext2_add_one_block() may add blocks which do not exist on the underlying disk. This commit prevents this from happening by checking the block index against the maximum block count that was present in the ext4 filesystem instance that is being converted. Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com> Reviewed-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
281e476b4d
commit
8583b61309
|
@ -1525,6 +1525,9 @@ static int __ext2_add_one_block(ext2_filsys fs, char *bitmap,
|
|||
offset /= EXT2FS_CLUSTER_RATIO(fs);
|
||||
offset += group_nr * EXT2_CLUSTERS_PER_GROUP(fs->super);
|
||||
for (i = 0; i < EXT2_CLUSTERS_PER_GROUP(fs->super); i++) {
|
||||
if ((i + offset) >= ext2fs_blocks_count(fs->super))
|
||||
break;
|
||||
|
||||
if (ext2fs_test_bit(i, bitmap)) {
|
||||
u64 start;
|
||||
|
||||
|
|
Loading…
Reference in New Issue