2020-06-01 07:35:29

by yangerkun

[permalink] [raw]
Subject: [PATCH] ext4: stop overwrite the errcode in ext4_setup_super

Now the errcode from ext4_commit_super will overwrite EROFS exists in
ext4_setup_super. Actually, no need to call ext4_commit_super since we
will return EROFS. Fix it by goto done directly.

Fixes: c89128a00838 ("ext4: handle errors on ext4_commit_super")
Signed-off-by: yangerkun <[email protected]>
---
fs/ext4/super.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index bf5fcb477f66..87c5611a4c67 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2344,6 +2344,7 @@ static int ext4_setup_super(struct super_block *sb, struct ext4_super_block *es,
ext4_msg(sb, KERN_ERR, "revision level too high, "
"forcing read-only mode");
err = -EROFS;
+ goto done;
}
if (read_only)
goto done;
--
2.25.4


2020-06-01 11:49:46

by Jan Kara

[permalink] [raw]
Subject: Re: [PATCH] ext4: stop overwrite the errcode in ext4_setup_super

On Mon 01-06-20 15:34:04, yangerkun wrote:
> Now the errcode from ext4_commit_super will overwrite EROFS exists in
> ext4_setup_super. Actually, no need to call ext4_commit_super since we
> will return EROFS. Fix it by goto done directly.
>
> Fixes: c89128a00838 ("ext4: handle errors on ext4_commit_super")
> Signed-off-by: yangerkun <[email protected]>

Yeah, makes sense. You can add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/ext4/super.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index bf5fcb477f66..87c5611a4c67 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -2344,6 +2344,7 @@ static int ext4_setup_super(struct super_block *sb, struct ext4_super_block *es,
> ext4_msg(sb, KERN_ERR, "revision level too high, "
> "forcing read-only mode");
> err = -EROFS;
> + goto done;
> }
> if (read_only)
> goto done;
> --
> 2.25.4
>
--
Jan Kara <[email protected]>
SUSE Labs, CR

2020-06-11 15:02:08

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: stop overwrite the errcode in ext4_setup_super

On Mon, Jun 01, 2020 at 01:47:08PM +0200, Jan Kara wrote:
> On Mon 01-06-20 15:34:04, yangerkun wrote:
> > Now the errcode from ext4_commit_super will overwrite EROFS exists in
> > ext4_setup_super. Actually, no need to call ext4_commit_super since we
> > will return EROFS. Fix it by goto done directly.
> >
> > Fixes: c89128a00838 ("ext4: handle errors on ext4_commit_super")
> > Signed-off-by: yangerkun <[email protected]>
>
> Yeah, makes sense. You can add:
>
> Reviewed-by: Jan Kara <[email protected]>

Thanks, applied.

- Ted