Jelajahi Sumber

procfs: clean proc_fill_super() up

First of all, there's no need to zero ->i_uid/->i_gid on root inode -
both had been set to zero already.  Moreover, let's take the iput()
on failure to the failure exit it belongs to...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 13 tahun lalu
induk
melakukan
6b4231e2f9
1 mengubah file dengan 3 tambahan dan 4 penghapusan
  1. 3 4
      fs/proc/inode.c

+ 3 - 4
fs/proc/inode.c

@@ -499,16 +499,15 @@ int proc_fill_super(struct super_block *s)
 	root_inode = proc_get_inode(s, &proc_root);
 	root_inode = proc_get_inode(s, &proc_root);
 	if (!root_inode)
 	if (!root_inode)
 		goto out_no_root;
 		goto out_no_root;
-	root_inode->i_uid = 0;
-	root_inode->i_gid = 0;
 	s->s_root = d_alloc_root(root_inode);
 	s->s_root = d_alloc_root(root_inode);
-	if (!s->s_root)
+	if (!s->s_root) {
+		iput(root_inode);
 		goto out_no_root;
 		goto out_no_root;
+	}
 	return 0;
 	return 0;
 
 
 out_no_root:
 out_no_root:
 	printk("proc_read_super: get root inode failed\n");
 	printk("proc_read_super: get root inode failed\n");
-	iput(root_inode);
 	pde_put(&proc_root);
 	pde_put(&proc_root);
 	return -ENOMEM;
 	return -ENOMEM;
 }
 }