aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/fork.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 8ca1a14cdc8..8dd8ff28100 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1292,23 +1292,14 @@ static struct task_struct *copy_process(unsigned long clone_flags,
1292 __ptrace_link(p, current->parent); 1292 __ptrace_link(p, current->parent);
1293 1293
1294 if (thread_group_leader(p)) { 1294 if (thread_group_leader(p)) {
1295 if (clone_flags & CLONE_NEWPID) { 1295 if (clone_flags & CLONE_NEWPID)
1296 p->nsproxy->pid_ns->child_reaper = p; 1296 p->nsproxy->pid_ns->child_reaper = p;
1297 p->signal->tty = NULL;
1298 set_task_pgrp(p, p->pid);
1299 set_task_session(p, p->pid);
1300 attach_pid(p, PIDTYPE_PGID, pid);
1301 attach_pid(p, PIDTYPE_SID, pid);
1302 } else {
1303 p->signal->tty = current->signal->tty;
1304 set_task_pgrp(p, task_pgrp_nr(current));
1305 set_task_session(p, task_session_nr(current));
1306 attach_pid(p, PIDTYPE_PGID,
1307 task_pgrp(current));
1308 attach_pid(p, PIDTYPE_SID,
1309 task_session(current));
1310 }
1311 1297
1298 p->signal->tty = current->signal->tty;
1299 set_task_pgrp(p, task_pgrp_nr(current));
1300 set_task_session(p, task_session_nr(current));
1301 attach_pid(p, PIDTYPE_PGID, task_pgrp(current));
1302 attach_pid(p, PIDTYPE_SID, task_session(current));
1312 list_add_tail_rcu(&p->tasks, &init_task.tasks); 1303 list_add_tail_rcu(&p->tasks, &init_task.tasks);
1313 __get_cpu_var(process_counts)++; 1304 __get_cpu_var(process_counts)++;
1314 } 1305 }