diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/mballoc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 78de5d3c5dce..ab2dad1dfb7e 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c | |||
@@ -4463,9 +4463,7 @@ void ext4_free_blocks(handle_t *handle, struct inode *inode, | |||
4463 | 4463 | ||
4464 | sbi = EXT4_SB(sb); | 4464 | sbi = EXT4_SB(sb); |
4465 | es = EXT4_SB(sb)->s_es; | 4465 | es = EXT4_SB(sb)->s_es; |
4466 | if (block < le32_to_cpu(es->s_first_data_block) || | 4466 | if (!ext4_data_block_valid(sbi, block, count)) { |
4467 | block + count < block || | ||
4468 | block + count > ext4_blocks_count(es)) { | ||
4469 | ext4_error(sb, __func__, | 4467 | ext4_error(sb, __func__, |
4470 | "Freeing blocks not in datazone - " | 4468 | "Freeing blocks not in datazone - " |
4471 | "block = %llu, count = %lu", block, count); | 4469 | "block = %llu, count = %lu", block, count); |