From: Sukadev Bhattiprolu <[EMAIL PROTECTED]> Subject: [PATCH 4/5] Remove the likely(pid) check in copy_process
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 <[EMAIL PROTECTED]> Cc: Cedric Le Goater <[EMAIL PROTECTED]> Cc: Dave Hansen <[EMAIL PROTECTED]> Cc: Serge Hallyn <[EMAIL PROTECTED]> Cc: [EMAIL PROTECTED] Acked-by: Eric W. Biederman <[EMAIL PROTECTED]> --- kernel/fork.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) Index: lx26-20-mm2c/kernel/fork.c =================================================================== --- lx26-20-mm2c.orig/kernel/fork.c 2007-02-28 15:08:46.000000000 -0800 +++ lx26-20-mm2c/kernel/fork.c 2007-02-28 15:33:20.000000000 -0800 @@ -1249,26 +1249,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); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/