linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Fix memory leak when the ext3's journal file is corrupted
@ 2006-05-21 23:08 Theodore Ts'o
  2006-05-23 20:13 ` Willy TARREAU
  0 siblings, 1 reply; 2+ messages in thread
From: Theodore Ts'o @ 2006-05-21 23:08 UTC (permalink / raw)
  To: ext2-devel; +Cc: linux-kernel


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

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

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;
 		}
 	}

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Fix memory leak when the ext3's journal file is corrupted
  2006-05-21 23:08 [PATCH] Fix memory leak when the ext3's journal file is corrupted Theodore Ts'o
@ 2006-05-23 20:13 ` Willy TARREAU
  0 siblings, 0 replies; 2+ messages in thread
From: Willy TARREAU @ 2006-05-23 20:13 UTC (permalink / raw)
  To: Theodore Ts'o; +Cc: ext2-devel, linux-kernel, marcelo, akpm

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" <tytso@mit.edu>
> 
> 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


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-05-23 20:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-21 23:08 [PATCH] Fix memory leak when the ext3's journal file is corrupted Theodore Ts'o
2006-05-23 20:13 ` Willy TARREAU

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).