Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f418548 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds
Browse files

fs/exec.c:de_thread(): use change_pid() rather than detach_pid/attach_pid



de_thread() can use change_pid() instead of detach + attach.  This looks
better and this ensures that, say, next_thread() can never see a task with
->pid == NULL.

Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Sergey Dyasly <dserrg@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 888ffc59
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -947,9 +947,8 @@ static int de_thread(struct task_struct *tsk)
		 * Note: The old leader also uses this pid until release_task
		 *       is called.  Odd but simple and correct.
		 */
		detach_pid(tsk, PIDTYPE_PID);
		tsk->pid = leader->pid;
		attach_pid(tsk, PIDTYPE_PID,  task_pid(leader));
		change_pid(tsk, PIDTYPE_PID, task_pid(leader));
		transfer_pid(leader, tsk, PIDTYPE_PGID);
		transfer_pid(leader, tsk, PIDTYPE_SID);