Messages in this thread | | | Date | Sun, 11 Sep 2011 08:34:31 +0900 | From | Tejun Heo <> | Subject | Re: [PATCH v3] Make PTRACE_SEIZE set ptrace options specified in 'data' |
| |
On Thu, Sep 08, 2011 at 08:22:04PM +0200, Denys Vlasenko wrote: > Make PTRACE_SEIZE set ptrace options specified in 'data' parameter > > This can be used to close a few corner cases in strace where we get > unwanted racy behavior after attach, but before we have a chance > to set options (the notorious post-execve SIGTRAP comes to mind), > and removes the need to track "did we set opts for this task" state > in strace internals. > > While we are at it: > > Make it possible to extend SEIZE in the future with more functionality > by passing non-zero 'addr' parameter. > To that end, error out if 'addr' is non-zero. > PTRACE_ATTACH did not (and still does not) have such check, > and users (strace) do pass garbage there... let's avoid repeating > this mistake with SEIZE. > > Set all task->ptrace bits in one operation - before this change, > we were adding PT_SEIZED and PT_PTRACE_CAP with task->ptrace |= BIT ops. > This was probably ok (not a bug), but let's be on a safer side. > > Changes since v2: use (unsigned long) casts instead of (long) ones, > move PTRACE_SEIZE_DEVEL-related code to separate lines of code. > > > Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Thanks.
-- tejun
| |