[PATCH 3/4] pids: __set_special_pids: use change_pid() helper

From: Oleg Nesterov
Date: Thu Mar 20 2008 - 11:23:57 EST


Use change_pid() instead of detach_pid() + attach_pid() in __set_special_pids()

This way task_session() is not NULL in between.

Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

--- 25/kernel/exit.c~4_SETSID 2008-03-16 19:41:42.000000000 +0300
+++ 25/kernel/exit.c 2008-03-20 18:25:11.000000000 +0300
@@ -334,13 +334,11 @@ void __set_special_pids(struct pid *pid)
pid_t nr = pid_nr(pid);

if (task_session(curr) != pid) {
- detach_pid(curr, PIDTYPE_SID);
- attach_pid(curr, PIDTYPE_SID, pid);
+ change_pid(curr, PIDTYPE_SID, pid);
set_task_session(curr, nr);
}
if (task_pgrp(curr) != pid) {
- detach_pid(curr, PIDTYPE_PGID);
- attach_pid(curr, PIDTYPE_PGID, pid);
+ change_pid(curr, PIDTYPE_PGID, pid);
set_task_pgrp(curr, nr);
}
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/