summaryrefslogtreecommitdiffstats
path: root/fs/9p/v9fs.c
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2006-09-29 02:01:06 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-29 09:18:20 -0700
commitd826380b305971ff9825ef005ff039d655542bbb (patch)
tree8c03475644a23f4d65c9d029e2ca0e63530893cc /fs/9p/v9fs.c
parent368bdb3d616fa352971f45b423ae6344715e620b (diff)
downloadlinux-d826380b305971ff9825ef005ff039d655542bbb.tar.gz
linux-d826380b305971ff9825ef005ff039d655542bbb.tar.bz2
linux-d826380b305971ff9825ef005ff039d655542bbb.zip
[PATCH] 9p: fix leak on error path
If register_filesystem() fails mux workqueue must be killed. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Eric Van Hensbergen <ericvh@gmail.com> Cc: Ron Minnich <rminnich@lanl.gov> Cc: Latchesar Ionkov <lucho@ionkov.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/9p/v9fs.c')
-rw-r--r--fs/9p/v9fs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index 22f7ccd58d38..0f628041e3f7 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -460,8 +460,10 @@ static int __init init_v9fs(void)
ret = v9fs_mux_global_init();
if (!ret)
- ret = register_filesystem(&v9fs_fs_type);
-
+ return ret;
+ ret = register_filesystem(&v9fs_fs_type);
+ if (!ret)
+ v9fs_mux_global_exit();
return ret;
}