diff options
author | Sami Liedes <sliedes@cc.hut.fi> | 2008-11-02 19:23:30 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-11-02 19:23:30 -0500 |
commit | 2423840ded13e6d3b52d88aff8d033bb78fafd08 (patch) | |
tree | 9c82375eb1f17a635de090aa0f944b67c41fc981 /fs/jbd2 | |
parent | 8c3f25d8950c3e9fe6c9849f88679b3f2a071550 (diff) | |
download | linux-3.10-2423840ded13e6d3b52d88aff8d033bb78fafd08.tar.gz linux-3.10-2423840ded13e6d3b52d88aff8d033bb78fafd08.tar.bz2 linux-3.10-2423840ded13e6d3b52d88aff8d033bb78fafd08.zip |
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=11493
Signed-off-by: Sami Liedes <sliedes@cc.hut.fi>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2')
-rw-r--r-- | fs/jbd2/journal.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 783de118de9..e70d657a19f 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; } |