Browse Source

isofs: inode leak on mount failure

d_alloc_root() failure leaves root inode leaked...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 14 năm trước cách đây
mục cha
commit
8fdd8c49fe
1 tập tin đã thay đổi với 5 bổ sung2 xóa
  1. 5 2
      fs/isofs/inode.c

+ 5 - 2
fs/isofs/inode.c

@@ -948,8 +948,11 @@ root_found:
 
 
 	/* get the root dentry */
 	/* get the root dentry */
 	s->s_root = d_alloc_root(inode);
 	s->s_root = d_alloc_root(inode);
-	if (!(s->s_root))
-		goto out_no_root;
+	if (!(s->s_root)) {
+		iput(inode);
+		error = -ENOMEM;
+		goto out_no_inode;
+	}
 
 
 	kfree(opt.iocharset);
 	kfree(opt.iocharset);