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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.