diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index d74e08029643d3e5eeb1f8a14d9a78c290549863..451b92a9958abb859ed5bf2d12f4b4327cbfdaac 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c @@ -377,7 +377,7 @@ static int ext4_valid_extent(struct inode *inode, struct ext4_extent *ext) ext4_lblk_t lblock = le32_to_cpu(ext->ee_block); ext4_lblk_t last = lblock + len - 1; - if (lblock > last) + if (len == 0 || lblock > last) return 0; return ext4_data_block_valid(EXT4_SB(inode->i_sb), block, len); }