Commit 2423840d authored by Sami Liedes's avatar Sami Liedes Committed by Theodore Ts'o

jbd2: deregister proc on failure in jbd2_journal_init_inode

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 a bug reported by Sami Leides at:
http://bugzilla.kernel.org/show_bug.cgi?id=11493Signed-off-by: default avatarSami Liedes <sliedes@cc.hut.fi>
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 8c3f25d8
...@@ -1089,6 +1089,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode) ...@@ -1089,6 +1089,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
if (!journal->j_wbuf) { if (!journal->j_wbuf) {
printk(KERN_ERR "%s: Cant allocate bhs for commit thread\n", printk(KERN_ERR "%s: Cant allocate bhs for commit thread\n",
__func__); __func__);
jbd2_stats_proc_exit(journal);
kfree(journal); kfree(journal);
return NULL; return NULL;
} }
...@@ -1098,6 +1099,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode) ...@@ -1098,6 +1099,7 @@ journal_t * jbd2_journal_init_inode (struct inode *inode)
if (err) { if (err) {
printk(KERN_ERR "%s: Cannnot locate journal superblock\n", printk(KERN_ERR "%s: Cannnot locate journal superblock\n",
__func__); __func__);
jbd2_stats_proc_exit(journal);
kfree(journal); kfree(journal);
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment