pidns: call pid_ns_prepare_proc() from create_pid_namespace()
[pandora-kernel.git] / fs / proc / root.c
index ef9fa8e..e5e2bfa 100644 (file)
@@ -43,17 +43,6 @@ static struct dentry *proc_mount(struct file_system_type *fs_type,
        struct pid_namespace *ns;
        struct proc_inode *ei;
 
-       if (proc_mnt) {
-               /* Seed the root directory with a pid so it doesn't need
-                * to be special in base.c.  I would do this earlier but
-                * the only task alive when /proc is mounted the first time
-                * is the init_task and it doesn't have any pids.
-                */
-               ei = PROC_I(proc_mnt->mnt_sb->s_root->d_inode);
-               if (!ei->pid)
-                       ei->pid = find_get_pid(1);
-       }
-
        if (flags & MS_KERNMOUNT)
                ns = (struct pid_namespace *)data;
        else
@@ -71,16 +60,16 @@ static struct dentry *proc_mount(struct file_system_type *fs_type,
                        return ERR_PTR(err);
                }
 
-               ei = PROC_I(sb->s_root->d_inode);
-               if (!ei->pid) {
-                       rcu_read_lock();
-                       ei->pid = get_pid(find_pid_ns(1, ns));
-                       rcu_read_unlock();
-               }
-
                sb->s_flags |= MS_ACTIVE;
        }
 
+       ei = PROC_I(sb->s_root->d_inode);
+       if (!ei->pid) {
+               rcu_read_lock();
+               ei->pid = get_pid(find_pid_ns(1, ns));
+               rcu_read_unlock();
+       }
+
        return dget(sb->s_root);
 }