2006-05-22 10:25:07

by Theodore Ts'o

[permalink] [raw]
Subject: [PATCH] Fix memory leak when the ext3's journal file is corrupted


Fix memory leak when the ext3's journal file is corrupted

Signed-off-by: "Theodore Ts'o" <[email protected]>

Index: linux-2.6/fs/jbd/recovery.c
===================================================================
--- linux-2.6.orig/fs/jbd/recovery.c 2006-05-21 18:39:27.000000000 -0400
+++ linux-2.6/fs/jbd/recovery.c 2006-05-21 18:39:34.000000000 -0400
@@ -531,6 +531,7 @@
default:
jbd_debug(3, "Unrecognised magic %d, end of scan.\n",
blocktype);
+ brelse(bh);
goto done;
}
}


2006-05-23 20:14:03

by Willy Tarreau

[permalink] [raw]
Subject: Re: [PATCH] Fix memory leak when the ext3's journal file is corrupted

Hi Theodore,

On Sun, May 21, 2006 at 07:08:34PM -0400, Theodore Ts'o wrote:
>
> Fix memory leak when the ext3's journal file is corrupted
>
> Signed-off-by: "Theodore Ts'o" <[email protected]>
>
> Index: linux-2.6/fs/jbd/recovery.c
> ===================================================================
> --- linux-2.6.orig/fs/jbd/recovery.c 2006-05-21 18:39:27.000000000 -0400
> +++ linux-2.6/fs/jbd/recovery.c 2006-05-21 18:39:34.000000000 -0400
> @@ -531,6 +531,7 @@
> default:
> jbd_debug(3, "Unrecognised magic %d, end of scan.\n",
> blocktype);
> + brelse(bh);
> goto done;
> }
> }

It seems to me that this one is a clear candidate for 2.4 too, isn't it ?
While reviewing diffs between 2.4 and 2.6 on this file, I also found this
patch from Andrew two years ago which also seems appropriate for 2.4 :


[PATCH] JBD: avoid panic on corrupted journal superblock

Don't panic if the journal superblock is wrecked: just fail the mount.


--- 1.11/fs/jbd/recovery.c 2006-05-23 20:44:53 -07:00
+++ 1.12/fs/jbd/recovery.c 2006-05-23 20:44:53 -07:00
@@ -137,7 +137,10 @@

*bhp = NULL;

- J_ASSERT (offset < journal->j_maxlen);
+ if (offset >= journal->j_maxlen) {
+ printk(KERN_ERR "JBD: corrupted journal superblock\n");
+ return -EIO;
+ }

err = journal_bmap(journal, offset, &blocknr);


I'm about to queue them both for Marcelo, do you have any objection ?

Thanks in advance,
Willy