diff options
author | Chengguang Xu <cgxu519@zoho.com.cn> | 2019-07-23 07:21:55 -0400 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-07-31 06:04:42 -0400 |
commit | b6aeffc5852f39db6e6e56da5327d0c43ac3c30a (patch) | |
tree | 7c2fa853f803c8d27734c118e004106d582a9424 | |
parent | e5d395974e043cdcedcd84a0d41aaebb723786d8 (diff) |
ext2: code cleanup for ext2_free_blocks()
Call ext2_data_block_valid() for block range validity.
Signed-off-by: Chengguang Xu <cgxu519@zoho.com.cn>
Link: https://lore.kernel.org/r/20190723112155.20329-2-cgxu519@zoho.com.cn
Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/ext2/balloc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 92e9a7489174..e0cc55164505 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c | |||
@@ -490,9 +490,7 @@ void ext2_free_blocks (struct inode * inode, unsigned long block, | |||
490 | struct ext2_super_block * es = sbi->s_es; | 490 | struct ext2_super_block * es = sbi->s_es; |
491 | unsigned freed = 0, group_freed; | 491 | unsigned freed = 0, group_freed; |
492 | 492 | ||
493 | if (block < le32_to_cpu(es->s_first_data_block) || | 493 | if (!ext2_data_block_valid(sbi, block, count)) { |
494 | block + count < block || | ||
495 | block + count > le32_to_cpu(es->s_blocks_count)) { | ||
496 | ext2_error (sb, "ext2_free_blocks", | 494 | ext2_error (sb, "ext2_free_blocks", |
497 | "Freeing blocks not in datazone - " | 495 | "Freeing blocks not in datazone - " |
498 | "block = %lu, count = %lu", block, count); | 496 | "block = %lu, count = %lu", block, count); |