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

login
register
mail settings
Submitter Lukas Czerner
Date June 22, 2011, 8:51 a.m.
Message ID <1308732669-6674-1-git-send-email-lczerner@redhat.com>
Download mbox | patch
Permalink /patch/101408/
State New
Headers show

Comments

Lukas Czerner - June 22, 2011, 8:51 a.m.
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>
---
 fs/ext3/balloc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Jan Kara - June 22, 2011, 6:26 p.m.
On Wed 22-06-11 10:51:09, Lukas Czerner wrote:
> 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.
  Thanks. Merged.

								Honza
> 
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> CC: Jan Kara <jack@suse.cz>
> ---
>  fs/ext3/balloc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
> index fe52297..790cdf3 100644
> --- a/fs/ext3/balloc.c
> +++ b/fs/ext3/balloc.c
> @@ -2100,7 +2100,7 @@ int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range)
>  	if (unlikely(minlen > EXT3_BLOCKS_PER_GROUP(sb)))
>  		return -EINVAL;
>  	if (start >= max_blks)
> -		goto out;
> +		return -EINVAL;
>  	if (start + len > max_blks)
>  		len = max_blks - start;
>  
> -- 
> 1.7.4.4
>

Patch

diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c
index fe52297..790cdf3 100644
--- a/fs/ext3/balloc.c
+++ b/fs/ext3/balloc.c
@@ -2100,7 +2100,7 @@  int ext3_trim_fs(struct super_block *sb, struct fstrim_range *range)
 	if (unlikely(minlen > EXT3_BLOCKS_PER_GROUP(sb)))
 		return -EINVAL;
 	if (start >= max_blks)
-		goto out;
+		return -EINVAL;
 	if (start + len > max_blks)
 		len = max_blks - start;