Fix ptrace_attach()/ptrace_traceme()/de_thread() race
authorLinus Torvalds <torvalds@g5.osdl.org>
Sun, 7 May 2006 17:49:33 +0000 (10:49 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 7 May 2006 17:49:33 +0000 (10:49 -0700)
commitf5b40e363ad6041a96e3da32281d8faa191597b9
tree5f35453cff7acd5df5622a108381bbd011a383c5
parent5528e568a760442e0ec8fd2dea1f0791875a066b
Fix ptrace_attach()/ptrace_traceme()/de_thread() race

This holds the task lock (and, for ptrace_attach, the tasklist_lock)
over the actual attach event, which closes a race between attacking to a
thread that is either doing a PTRACE_TRACEME or getting de-threaded.

Thanks to Oleg Nesterov for reminding me about this, and Chris Wright
for noticing a lost return value in my first version.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/ptrace.c