[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-ext4
Subject:    [PATCH] jbd2: deregister proc on failure in jbd2_journal_init_inode
From:       Sami Liedes <sliedes () cc ! hut ! fi>
Date:       2008-11-02 19:58:57
Message-ID: 20081102195857.GM5994 () lh ! kyla ! fi
[Download RAW message or body]

jbd2_journal_init_inode() does not call jbd2_stats_proc_exit() on all
failure paths after calling jbd2_stats_proc_init(). This leaves
dangling references to the fs in proc.

This patch fixes bug #11493.

Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>

---

I hope this is correct. I don't understand the code very well, but I
did test my patch and it seems to fix the problem. Please don't hit me
too hard, this is the first kernel patch I have ever submitted.

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index 783de11..e70d657 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -1089,6 +1089,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
 	if (!journal->j_wbuf) {
 		printk(KERN_ERR "%s: Cant allocate bhs for commit thread\n",
 			__func__);
+		jbd2_stats_proc_exit(journal);
 		kfree(journal);
 		return NULL;
 	}
@@ -1098,6 +1099,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
 	if (err) {
 		printk(KERN_ERR "%s: Cannnot locate journal superblock\n",
 		       __func__);
+		jbd2_stats_proc_exit(journal);
 		kfree(journal);
 		return NULL;
 	}
--
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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic