Messages in this thread | | | Date | Mon, 14 Feb 2011 18:23:58 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 1/1] ptrace: make sure do_wait() won't hang after PTRACE_ATTACH |
| |
On 02/14, Tejun Heo wrote: > > On Mon, Feb 14, 2011 at 05:15:15PM +0100, Oleg Nesterov wrote: > > > > PTRACE_CONT in this situation would do the same. > > > > > > This can be fixed by updating strace, right? strace can look at the > > > wait(2) exit code and if the tracee stopped for group stop, wait for > > > the tracee to be continued instead of issuing PTRACE_SYSCALL. > > > > Yes, in this particular case strace could be more clever. > > > > But. The tracee should react to SIGCONT after that, this means we > > shouldn't "delay" this stop or force the TASK_TRACED state. > > Yeap, which is achievable by treating group stop differently from > ptrace traps and make it proceed to TASK_TRACED only if ptrace wants > to issue commands.
Yes, agreed. And this is exactly what we currently do. Except, as you pointed out, the simple s/STOPPED/TRACED/ change is buggy. But the fix you suggested should be almost invisible to the userland.
> (reiterating just to make sure there's no > misunderstanding)
The same from my side ;)
Oleg.
| |