Re: [PATCH -mm 0/3] ptrace: detach wakeup fixes

From: Roland McGrath
Date: Sun Feb 08 2009 - 19:54:39 EST


> Q: when the tracer exits we bypass ptrace_disable() and
> clear_tsk_thread_flag(TIF_SYSCALL_TRACE), is this correct?

It's always been that way. It's obviously wrong in an abstract sense. But
for me, ptrace today is purely about compatibility with how it's behaved in
the past, however stupid that was--whenever it's been fully consistent and
predictable, userland is already saddled with coping with the stupidity.

> Perhaps we should move this code into __ptrace_unlink?

Locking nightmare. ptrace_disable can do stuff that may require the thread
to be stopped like other ptrace operations require (fiddle registers),
might include access_process_vm, etc. Trust me, we don't want to go there
now. (In case you were looking for reasons why I'll be soon advocating
reorganization to get ptrace entirely out of the tasklist_lock arena, this
is a fine example of the true horror that the current data structure set-up
gives us.)


Thanks,
Roland
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/