X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fptrace.c;h=17ee7e5a34516f7485250b7a7ef94546907f9b39;hb=3be4bb06b53df2c0a760eeaa5f53448faddedfca;hp=5b8dd98a230e442c1ec46adc968acb60dfdb74ae;hpb=7079060f3e86ea4c1d4e9c1e356592ef9dcaaa1f;p=powerpc.git 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);