Fix ptrace self-attach rule

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>
This commit is contained in:
Linus Torvalds 2005-11-09 11:33:07 -08:00
parent ac111bfaa6
commit 28d838cc4d

View file

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