Fix ptrace self-attach rule
authorLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 19:33:07 +0000 (11:33 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 19:33:07 +0000 (11:33 -0800)
Before we did CLONE_THREAD, the way to check whether we were attaching
to ourselves was to just check "current == task", but with CLONE_THREAD
we should check that the thread group ID matches instead.

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

index 5b8dd98..b88d418 100644 (file)
@@ -155,7 +155,7 @@ int ptrace_attach(struct task_struct *task)
        retval = -EPERM;
        if (task->pid <= 1)
                goto bad;
-       if (task == current)
+       if (task->tgid == current->tgid)
                goto bad;
        /* the same process cannot be attached many times */
        if (task->ptrace & PT_PTRACED)