فهرست منبع

ext3: Return -EINVAL when start is beyond the end of fs in ext3_trim_fs()

We should return -EINVAL when the FITRIM parameters are not sane, but
currently we are exiting silently if start is beyond the end of the
file system. This commit fixes this so we return -EINVAL as other file
systems do.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
CC: Jan Kara <jack@suse.cz>
Signed-off-by: Jan Kara <jack@suse.cz>
Lukas Czerner 14 سال پیش
والد
کامیت
2c2ea9451f
1فایلهای تغییر یافته به همراه1 افزوده شده و 3 حذف شده
  1. 1 3
      fs/ext3/balloc.c

+ 1 - 3
fs/ext3/balloc.c

@@ -2108,7 +2108,7 @@ int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range)
 	if (unlikely(minlen > EXT3_BLOCKS_PER_GROUP(sb)))
 	if (unlikely(minlen > EXT3_BLOCKS_PER_GROUP(sb)))
 		return -EINVAL;
 		return -EINVAL;
 	if (start >= max_blks)
 	if (start >= max_blks)
-		goto out;
+		return -EINVAL;
 	if (start + len > max_blks)
 	if (start + len > max_blks)
 		len = max_blks - start;
 		len = max_blks - start;
 
 
@@ -2156,8 +2156,6 @@ int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range)
 
 
 	if (ret >= 0)
 	if (ret >= 0)
 		ret = 0;
 		ret = 0;
-
-out:
 	range->len = trimmed * sb->s_blocksize;
 	range->len = trimmed * sb->s_blocksize;
 
 
 	return ret;
 	return ret;