X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=kernel%2Fptrace.c;h=7c76f2ffaeaad78060cfb3223857a89c7a4ccb8f;hb=62f0f61e6673e67151a7c8c0f9a09c7ea43fe2b5;hp=a73ebd3b9d4ca5019522fcf80c47eac8d5d7fa0c;hpb=4acadb965c4aa587aac29a0a91203c4745d6fb4e;p=~andy%2Flinux diff --git a/kernel/ptrace.c b/kernel/ptrace.c index a73ebd3b9d4..7c76f2ffaea 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -168,7 +169,7 @@ int ptrace_attach(struct task_struct *task) retval = -EPERM; if (task->pid <= 1) goto out; - if (task->tgid == current->tgid) + if (same_thread_group(task, current)) goto out; repeat: @@ -443,7 +444,7 @@ struct task_struct *ptrace_get_task_struct(pid_t pid) return ERR_PTR(-EPERM); read_lock(&tasklist_lock); - child = find_task_by_pid(pid); + child = find_task_by_vpid(pid); if (child) get_task_struct(child);