X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fptrace.c;h=17ee7e5a34516f7485250b7a7ef94546907f9b39;hb=1e6b39fbb61800e3ecee58dc8c4bca57c89365cd;hp=5b8dd98a230e442c1ec46adc968acb60dfdb74ae;hpb=8f0cb147b2fb12427bf6abef7fed2b604557a41e;p=linux-2.6 diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 5b8dd98a23..17ee7e5a34 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) @@ -470,7 +470,7 @@ asmlinkage long sys_ptrace(long request, long pid, long addr, long data) if (request == PTRACE_ATTACH) { ret = ptrace_attach(child); - goto out; + goto out_put_task_struct; } ret = ptrace_check_attach(child, request == PTRACE_KILL);