summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 11:33:07 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 11:33:07 -0800
commit28d838cc4dfea980cb6eda0a7409cbf91889ca74 (patch)
tree4bbf42063718ac7744ca67ef9f67adce17bfbb5c /kernel
parentac111bfaa6b0b3c0edc63c27bd9617d6b08851ff (diff)
downloadlinux-28d838cc4dfea980cb6eda0a7409cbf91889ca74.tar.gz
linux-28d838cc4dfea980cb6eda0a7409cbf91889ca74.tar.bz2
linux-28d838cc4dfea980cb6eda0a7409cbf91889ca74.zip
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>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/ptrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index 5b8dd98a230e..b88d4186cd7a 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -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)