diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2008-04-30 03:54:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-30 11:29:49 -0400 |
commit | 83beaf3c6c75b36b7c9be7f555c8cf7797842cc5 (patch) | |
tree | e134ff1fcd8aec134ecde984a4b90d221f79af15 /kernel/sys.c | |
parent | 24336eaeecea860b2a82530e07c80bc7e0558b73 (diff) |
pids: sys_setpgid: use change_pid() helper
Use change_pid() instead of detach_pid() + attach_pid() in sys_setpgid().
This way task_pgrp() is not NULL in between.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/sys.c')
-rw-r--r-- | kernel/sys.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 47c30a20b554..5d0b44cd435c 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -978,8 +978,7 @@ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid) | |||
978 | goto out; | 978 | goto out; |
979 | 979 | ||
980 | if (task_pgrp(p) != pgrp) { | 980 | if (task_pgrp(p) != pgrp) { |
981 | detach_pid(p, PIDTYPE_PGID); | 981 | change_pid(p, PIDTYPE_PGID, pgrp); |
982 | attach_pid(p, PIDTYPE_PGID, pgrp); | ||
983 | set_task_pgrp(p, pid_nr(pgrp)); | 982 | set_task_pgrp(p, pid_nr(pgrp)); |
984 | } | 983 | } |
985 | 984 | ||