The patch titled Remove the likely(pid) check in copy_process has been added to the -mm tree. Its filename is remove-the-likelypid-check-in-copy_process.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Remove the likely(pid) check in copy_process From: Sukadev Bhattiprolu <sukadev@xxxxxxxxxx> Now that we pass in a struct pid parameter to copy_process() and even the swapper (pid_t == 0) has a valid struct pid, we no longer need this check. Changelog: Per Eric Biederman's comments, moved this out to a separate patch for easier review. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxx> Cc: Cedric Le Goater <clg@xxxxxxxxxx> Cc: Dave Hansen <haveblue@xxxxxxxxxx> Cc: Serge Hallyn <serue@xxxxxxxxxx> Cc: <containers@xxxxxxxxxxxxxx> Acked-by: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/fork.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff -puN kernel/fork.c~remove-the-likelypid-check-in-copy_process kernel/fork.c --- a/kernel/fork.c~remove-the-likelypid-check-in-copy_process +++ a/kernel/fork.c @@ -1237,26 +1237,24 @@ static struct task_struct *copy_process( } } - if (likely(p->pid)) { - add_parent(p); - tracehook_init_task(p); - - if (thread_group_leader(p)) { - pid_t pgid = process_group(current); - pid_t sid = process_session(current); - - p->signal->tty = current->signal->tty; - p->signal->pgrp = pgid; - set_signal_session(p->signal, process_session(current)); - attach_pid(p, PIDTYPE_PGID, find_pid(pgid)); - attach_pid(p, PIDTYPE_SID, find_pid(sid)); + add_parent(p); + tracehook_init_task(p); - list_add_tail_rcu(&p->tasks, &init_task.tasks); - __get_cpu_var(process_counts)++; - } - attach_pid(p, PIDTYPE_PID, pid); - nr_threads++; + if (thread_group_leader(p)) { + pid_t pgid = process_group(current); + pid_t sid = process_session(current); + + p->signal->tty = current->signal->tty; + p->signal->pgrp = pgid; + set_signal_session(p->signal, process_session(current)); + attach_pid(p, PIDTYPE_PGID, find_pid(pgid)); + attach_pid(p, PIDTYPE_SID, find_pid(sid)); + + list_add_tail_rcu(&p->tasks, &init_task.tasks); + __get_cpu_var(process_counts)++; } + attach_pid(p, PIDTYPE_PID, pid); + nr_threads++; total_forks++; spin_unlock(¤t->sighand->siglock); _ Patches currently in -mm which might be from sukadev@xxxxxxxxxx are attach_pid-with-struct-pid-parameter.patch statically-initialize-struct-pid-for-swapper.patch explicitly-set-pgid-and-sid-of-init-process.patch use-struct-pid-parameter-in-copy_process.patch remove-the-likelypid-check-in-copy_process.patch use-task_pgrp-task_session-in-copy_process.patch kill-unused-sesssion-and-group-values-in-rocket-driver.patch fix-some-coding-style-errors-in-autofs.patch replace-pid_t-in-autofs-with-struct-pid-reference.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html