diff options
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index e23bb19e2a3e..bf46287c91a4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -1177,7 +1177,8 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
| 1177 | * don't allow the creation of threads. | 1177 | * don't allow the creation of threads. |
| 1178 | */ | 1178 | */ |
| 1179 | if ((clone_flags & (CLONE_VM|CLONE_NEWPID)) && | 1179 | if ((clone_flags & (CLONE_VM|CLONE_NEWPID)) && |
| 1180 | (task_active_pid_ns(current) != current->nsproxy->pid_ns)) | 1180 | (task_active_pid_ns(current) != |
| 1181 | current->nsproxy->pid_ns_for_children)) | ||
| 1181 | return ERR_PTR(-EINVAL); | 1182 | return ERR_PTR(-EINVAL); |
| 1182 | 1183 | ||
| 1183 | retval = security_task_create(clone_flags); | 1184 | retval = security_task_create(clone_flags); |
| @@ -1351,7 +1352,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
| 1351 | 1352 | ||
| 1352 | if (pid != &init_struct_pid) { | 1353 | if (pid != &init_struct_pid) { |
| 1353 | retval = -ENOMEM; | 1354 | retval = -ENOMEM; |
| 1354 | pid = alloc_pid(p->nsproxy->pid_ns); | 1355 | pid = alloc_pid(p->nsproxy->pid_ns_for_children); |
| 1355 | if (!pid) | 1356 | if (!pid) |
| 1356 | goto bad_fork_cleanup_io; | 1357 | goto bad_fork_cleanup_io; |
| 1357 | } | 1358 | } |
