diff options
author | KaiGai Kohei <kaigai@ak.jp.nec.com> | 2006-06-23 20:15:36 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-06-27 11:18:30 -0400 |
commit | 355ed4e141203fd7266ef9d90d57be0c61bd1aa4 (patch) | |
tree | 24abb6d9ee1ae95e41d7db13f90200adf734eb4e /fs/jffs2/nodelist.c | |
parent | 8a13695cbe4e8311b363f9bd25162904b984ca74 (diff) |
[JFFS2][XATTR] Fix memory leak with jffs2_xattr_ref
If xattr_ref is associated with an orphan inode_cache
on filesystem mounting, those xattr_refs are not
released even if this inode_cache is released.
This patch enables to call jffs2_xattr_delete_inode()
for such a irregular inode_cachde too.
Signed-off-by: KaiGai Kohei <kaigai@ak.jp.nec.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'fs/jffs2/nodelist.c')
-rw-r--r-- | fs/jffs2/nodelist.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/jffs2/nodelist.c b/fs/jffs2/nodelist.c index 927dfe42ba76..7675b33396c7 100644 --- a/fs/jffs2/nodelist.c +++ b/fs/jffs2/nodelist.c | |||
@@ -906,6 +906,9 @@ void jffs2_del_ino_cache(struct jffs2_sb_info *c, struct jffs2_inode_cache *old) | |||
906 | { | 906 | { |
907 | struct jffs2_inode_cache **prev; | 907 | struct jffs2_inode_cache **prev; |
908 | 908 | ||
909 | #ifdef CONFIG_JFFS2_FS_XATTR | ||
910 | BUG_ON(old->xref); | ||
911 | #endif | ||
909 | dbg_inocache("del %p (ino #%u)\n", old, old->ino); | 912 | dbg_inocache("del %p (ino #%u)\n", old, old->ino); |
910 | spin_lock(&c->inocache_lock); | 913 | spin_lock(&c->inocache_lock); |
911 | 914 | ||