]> git.karo-electronics.de Git - linux-beck.git/commit
ptrace: relocate set_current_state(TASK_TRACED) in ptrace_stop()
authorTejun Heo <tj@kernel.org>
Thu, 2 Jun 2011 09:13:59 +0000 (11:13 +0200)
committerOleg Nesterov <oleg@redhat.com>
Sat, 4 Jun 2011 16:17:10 +0000 (18:17 +0200)
commit81be24b8cdeb69e62f9d1b6b425fd9ffdd37f581
tree63afd141fdb380c7b00a01a2080ace6bcc232386
parent755e276b3326f300585435d2f3876e66e248c476
ptrace: relocate set_current_state(TASK_TRACED) in ptrace_stop()

In ptrace_stop(), after arch hook is done, the task state and jobctl
bits are updated while holding siglock.  The ordering requirement
there is that TASK_TRACED is set before JOBCTL_TRAPPING is cleared to
prevent ptracer waiting on TRAPPING doesn't end up waking up TRACED is
actually set and sees TASK_RUNNING in wait(2).

Move set_current_state(TASK_TRACED) to the top of the block and
reorganize comments.  This makes the ordering more obvious
(TASK_TRACED before other updates) and helps future updates to group
stop participation.

This patch doesn't cause any functional change.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
kernel/signal.c