Re: [PATCH] Fix memory leak when the ext3's journal file is corrupted
Willy TARREAU <[email protected]>
| Newsgroups | gmane.comp.file-systems.ext2.devel,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
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 ------------------------------------------------------- All the advantages of Linux Managed Hosting--Without the Cost and Risk! Fully trained technicians. The highest number of Red Hat certifications in the hosting industry. Fanatical Support. Click to learn more http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642