Patchwork ext4: fix error handling in ext4_fill_super()

login
register
mail settings
Submitter Eugene Shatokhin
Date Oct. 8, 2012, 11:09 a.m.
Message ID <1349694582-16958-1-git-send-email-eugene.shatokhin@rosalab.ru>
Download mbox | patch
Permalink /patch/189992/
State Superseded
Headers show

Comments

Eugene Shatokhin - Oct. 8, 2012, 11:09 a.m.
If ext4_mb_init() returns error (e.g. if there is not enough memory),
ext4_fill_super() returns 0 rather than the error code.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=48431

The patch fixes that problem.

Signed-off-by: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
---
 fs/ext4/super.c |    1 +
 1 file changed, 1 insertion(+)
Lukas Czerner - Oct. 8, 2012, 12:25 p.m.
On Mon, 8 Oct 2012, Eugene Shatokhin wrote:

> Date: Mon,  8 Oct 2012 15:09:42 +0400
> From: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
> To: linux-ext4@vger.kernel.org
> Cc: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
> Subject: [PATCH] ext4: fix error handling in ext4_fill_super()
> 
> If ext4_mb_init() returns error (e.g. if there is not enough memory),
> ext4_fill_super() returns 0 rather than the error code.
> 
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=48431
> 
> The patch fixes that problem.

Unfortunately there are other places with this problem as well.
I'll send you a different patch to address this problem, let me know
what do you think.

Thanks!
-Lukas

> 
> Signed-off-by: Eugene Shatokhin <eugene.shatokhin@rosalab.ru>
> ---
>  fs/ext4/super.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 982f6fc..7292532 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -3982,6 +3982,7 @@ no_journal:
>  	if (err) {
>  		ext4_msg(sb, KERN_ERR, "failed to initialize mballoc (%d)",
>  			 err);
> +		ret = err;
>  		goto failed_mount5;
>  	}
>  
> 
--
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/ext4/super.c b/fs/ext4/super.c
index 982f6fc..7292532 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3982,6 +3982,7 @@  no_journal:
 	if (err) {
 		ext4_msg(sb, KERN_ERR, "failed to initialize mballoc (%d)",
 			 err);
+		ret = err;
 		goto failed_mount5;
 	}