diff options
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index f252784f9330..ce9297e4e7d4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -50,6 +50,7 @@ | |||
50 | #include <linux/taskstats_kern.h> | 50 | #include <linux/taskstats_kern.h> |
51 | #include <linux/random.h> | 51 | #include <linux/random.h> |
52 | #include <linux/tty.h> | 52 | #include <linux/tty.h> |
53 | #include <linux/proc_fs.h> | ||
53 | 54 | ||
54 | #include <asm/pgtable.h> | 55 | #include <asm/pgtable.h> |
55 | #include <asm/pgalloc.h> | 56 | #include <asm/pgalloc.h> |
@@ -1150,6 +1151,12 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1150 | pid = alloc_pid(task_active_pid_ns(p)); | 1151 | pid = alloc_pid(task_active_pid_ns(p)); |
1151 | if (!pid) | 1152 | if (!pid) |
1152 | goto bad_fork_cleanup_namespaces; | 1153 | goto bad_fork_cleanup_namespaces; |
1154 | |||
1155 | if (clone_flags & CLONE_NEWPID) { | ||
1156 | retval = pid_ns_prepare_proc(task_active_pid_ns(p)); | ||
1157 | if (retval < 0) | ||
1158 | goto bad_fork_free_pid; | ||
1159 | } | ||
1153 | } | 1160 | } |
1154 | 1161 | ||
1155 | p->pid = pid_nr(pid); | 1162 | p->pid = pid_nr(pid); |