diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-09 10:48:11 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-01-09 10:48:11 -0500 |
commit | 8fdd8c49fe50394fef3e193db27222cb03c2b212 (patch) | |
tree | 24b13a4397127a7ac8d708af9af6e1f476bc0763 /fs/isofs | |
parent | 0ce8c0109f548ed75535d96ec5a347b410ed1472 (diff) |
isofs: inode leak on mount failure
d_alloc_root() failure leaves root inode leaked...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/isofs')
-rw-r--r-- | fs/isofs/inode.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index 7b99f5f460be..bd62c76fb5df 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c | |||
@@ -948,8 +948,11 @@ root_found: | |||
948 | 948 | ||
949 | /* get the root dentry */ | 949 | /* get the root dentry */ |
950 | s->s_root = d_alloc_root(inode); | 950 | s->s_root = d_alloc_root(inode); |
951 | if (!(s->s_root)) | 951 | if (!(s->s_root)) { |
952 | goto out_no_root; | 952 | iput(inode); |
953 | error = -ENOMEM; | ||
954 | goto out_no_inode; | ||
955 | } | ||
953 | 956 | ||
954 | kfree(opt.iocharset); | 957 | kfree(opt.iocharset); |
955 | 958 | ||