aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-01-25 06:16:19 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2010-01-26 22:22:27 -0500
commit083c73c253c23c20359a344dfe1198ea628e6259 (patch)
tree22f4f25627db5569f7ce78ef3b9270a828ae924a /fs
parentfix leak in romfs_fill_super() (diff)
downloadlinux-dev-083c73c253c23c20359a344dfe1198ea628e6259.tar.xz
linux-dev-083c73c253c23c20359a344dfe1198ea628e6259.zip
fix oops in fs/9p late mount failure
if 9P ->get_sb() fails late (at root inode or root dentry allocation), we'll hit its ->kill_sb() with NULL ->s_root Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/9p/vfs_super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index 14a86448572c..69357c0d9899 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -188,7 +188,8 @@ static void v9fs_kill_super(struct super_block *s)
P9_DPRINTK(P9_DEBUG_VFS, " %p\n", s);
- v9fs_dentry_release(s->s_root); /* clunk root */
+ if (s->s_root)
+ v9fs_dentry_release(s->s_root); /* clunk root */
kill_anon_super(s);