mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-13 11:51:32 +00:00
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>
This commit is contained in:
parent
8c3f25d895
commit
2423840ded
@ -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)
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user