Patchwork ext3: fix return values on parse_options() failure

login
register
mail settings
Submitter Zhao Hongjiang
Date Oct. 9, 2012, 5:48 a.m.
Message ID <5073BABF.8090206@gmail.com>
Download mbox | patch
Permalink /patch/190213/
State Not Applicable
Headers show

Comments

Zhao Hongjiang - Oct. 9, 2012, 5:48 a.m.
From: Zhao Hongjiang <zhaohongjiang@huawei.com>

parse_options() in ext3 should return 0 when parse the mount options fails.

Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
---
 fs/ext3/super.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

-- 1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Lukas Czerner - Oct. 9, 2012, 6:19 a.m.
On Tue, 9 Oct 2012, Zhao Hongjiang wrote:

> Date: Tue, 09 Oct 2012 13:48:47 +0800
> From: Zhao Hongjiang <zhaohongjiang37@gmail.com>
> To: jack@suse.cz
> Cc: akpm@linux-foundation.org, adilger.kernel@dilger.ca,
>     linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
>     Eric W. Biederman <ebiederm@xmission.com>, serge.hallyn@canonical.com,
>     containers@lists.linux-foundation.org
> Subject: [PATCH] ext3: fix return values on parse_options() failure
> 
> From: Zhao Hongjiang <zhaohongjiang@huawei.com>
> 
> parse_options() in ext3 should return 0 when parse the mount options fails.
> 

Ah, it really is a joy to read the parse_options() :). But this fix
makes sense, thanks for catching it.

Reviewed-by: Lukas Czerner <lczerner@redhat.com>

-Lukas

> Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
> ---
>  fs/ext3/super.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/ext3/super.c b/fs/ext3/super.c
> index 17ae5c8..ebf8312 100644
> --- a/fs/ext3/super.c
> +++ b/fs/ext3/super.c
> @@ -1001,7 +1001,7 @@ static int parse_options (char *options, struct super_block *sb,
>  			uid = make_kuid(current_user_ns(), option);
>  			if (!uid_valid(uid)) {
>  				ext3_msg(sb, KERN_ERR, "Invalid uid value %d", option);
> -				return -1;
> +				return 0;
> 
>  			}
>  			sbi->s_resuid = uid;
> @@ -1012,7 +1012,7 @@ static int parse_options (char *options, struct super_block *sb,
>  			gid = make_kgid(current_user_ns(), option);
>  			if (!gid_valid(gid)) {
>  				ext3_msg(sb, KERN_ERR, "Invalid gid value %d", option);
> -				return -1;
> +				return 0;
>  			}
>  			sbi->s_resgid = gid;
>  			break;
> -- 1.7.1
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric W. Biederman - Oct. 9, 2012, 6:50 a.m.
Lukáš Czerner <lczerner@redhat.com> writes:

> On Tue, 9 Oct 2012, Zhao Hongjiang wrote:
>
>> Date: Tue, 09 Oct 2012 13:48:47 +0800
>> From: Zhao Hongjiang <zhaohongjiang37@gmail.com>
>> To: jack@suse.cz
>> Cc: akpm@linux-foundation.org, adilger.kernel@dilger.ca,
>>     linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
>>     Eric W. Biederman <ebiederm@xmission.com>, serge.hallyn@canonical.com,
>>     containers@lists.linux-foundation.org
>> Subject: [PATCH] ext3: fix return values on parse_options() failure
>> 
>> From: Zhao Hongjiang <zhaohongjiang@huawei.com>
>> 
>> parse_options() in ext3 should return 0 when parse the mount options fails.
>> 
>
> Ah, it really is a joy to read the parse_options() :). But this fix
> makes sense, thanks for catching it.
>
> Reviewed-by: Lukas Czerner <lczerner@redhat.com>

Ugh.  I goofed that up.  How annoying that ext4 is different than ext3
and ext2 in this regard.

Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jan Kara - Oct. 9, 2012, 9:24 p.m.
On Tue 09-10-12 08:19:42, Lukáš Czerner wrote:
> On Tue, 9 Oct 2012, Zhao Hongjiang wrote:
> 
> > Date: Tue, 09 Oct 2012 13:48:47 +0800
> > From: Zhao Hongjiang <zhaohongjiang37@gmail.com>
> > To: jack@suse.cz
> > Cc: akpm@linux-foundation.org, adilger.kernel@dilger.ca,
> >     linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
> >     Eric W. Biederman <ebiederm@xmission.com>, serge.hallyn@canonical.com,
> >     containers@lists.linux-foundation.org
> > Subject: [PATCH] ext3: fix return values on parse_options() failure
> > 
> > From: Zhao Hongjiang <zhaohongjiang@huawei.com>
> > 
> > parse_options() in ext3 should return 0 when parse the mount options fails.
> > 
> 
> Ah, it really is a joy to read the parse_options() :). But this fix
> makes sense, thanks for catching it.
> 
> Reviewed-by: Lukas Czerner <lczerner@redhat.com>
  Thanks, added to my tree.

									Honza
> 
> -Lukas
> 
> > Signed-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
> > ---
> >  fs/ext3/super.c |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/fs/ext3/super.c b/fs/ext3/super.c
> > index 17ae5c8..ebf8312 100644
> > --- a/fs/ext3/super.c
> > +++ b/fs/ext3/super.c
> > @@ -1001,7 +1001,7 @@ static int parse_options (char *options, struct super_block *sb,
> >  			uid = make_kuid(current_user_ns(), option);
> >  			if (!uid_valid(uid)) {
> >  				ext3_msg(sb, KERN_ERR, "Invalid uid value %d", option);
> > -				return -1;
> > +				return 0;
> > 
> >  			}
> >  			sbi->s_resuid = uid;
> > @@ -1012,7 +1012,7 @@ static int parse_options (char *options, struct super_block *sb,
> >  			gid = make_kgid(current_user_ns(), option);
> >  			if (!gid_valid(gid)) {
> >  				ext3_msg(sb, KERN_ERR, "Invalid gid value %d", option);
> > -				return -1;
> > +				return 0;
> >  			}
> >  			sbi->s_resgid = gid;
> >  			break;
> > -- 1.7.1
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index 17ae5c8..ebf8312 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -1001,7 +1001,7 @@  static int parse_options (char *options, struct super_block *sb,
 			uid = make_kuid(current_user_ns(), option);
 			if (!uid_valid(uid)) {
 				ext3_msg(sb, KERN_ERR, "Invalid uid value %d", option);
-				return -1;
+				return 0;

 			}
 			sbi->s_resuid = uid;
@@ -1012,7 +1012,7 @@  static int parse_options (char *options, struct super_block *sb,
 			gid = make_kgid(current_user_ns(), option);
 			if (!gid_valid(gid)) {
 				ext3_msg(sb, KERN_ERR, "Invalid gid value %d", option);
-				return -1;
+				return 0;
 			}
 			sbi->s_resgid = gid;
 			break;