[PATCH 13] exit_ptrace: use ptrace_do_detach()

2009-08-22 Thread Oleg Nesterov
Change exit_ptrace() to use ptrace_do_detach() and kill now unused ptrace_utrace_exit(). This means we can't iterate over -ptraced (the current code does this twice) under tasklist, change the code to pick tracees by one and do get/put on task_struct. With this patch, exit_ptrace() does

[PATCH 14] ptrace_attach_task: kill -ptrace != 0 check

2009-08-22 Thread Oleg Nesterov
Now we can kill -ptrace check in ptrace_attach_task(), if the task is not dead we always clear -ptrace before UTRACE_DETACH. This reverts most part of [PATCH 09] move -ptrace == 0 checks to ptrace_attach_task(), but I am just sending the new patch on top of previous changes to avoid the

Re: [PATCH 09] move -ptrace == 0 checks to ptrace_attach_task()

2009-08-22 Thread Oleg Nesterov
On 08/21, Oleg Nesterov wrote: On 08/21, Srikar Dronamraju wrote: Please note the comment, this check relies on UTRACE_ATTACH_EXCLUSIVE above. Once we see -ptrace = 0 after utrace_attach_task(), nobody can change -ptrace. However after attaching an engine exclusively, (which would