powerpc: Don't use the wrong thread_struct for ptrace get/set VSX regs
authorMichael Neuling <mikey@neuling.org>
Mon, 28 Jul 2008 15:13:14 +0000 (01:13 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 30 Jul 2008 05:26:54 +0000 (15:26 +1000)
In PTRACE_GET/SETVSRREGS, we should be using the thread we are
ptracing rather than current.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/ptrace.c

index 97d5ded..3635be6 100644 (file)
@@ -375,7 +375,7 @@ static int vsr_get(struct task_struct *target, const struct user_regset *regset,
        flush_vsx_to_thread(target);
 
        for (i = 0; i < 32 ; i++)
-               buf[i] = current->thread.fpr[i][TS_VSRLOWOFFSET];
+               buf[i] = target->thread.fpr[i][TS_VSRLOWOFFSET];
        ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
                                  buf, 0, 32 * sizeof(double));
 
@@ -394,7 +394,7 @@ static int vsr_set(struct task_struct *target, const struct user_regset *regset,
        ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
                                 buf, 0, 32 * sizeof(double));
        for (i = 0; i < 32 ; i++)
-               current->thread.fpr[i][TS_VSRLOWOFFSET] = buf[i];
+               target->thread.fpr[i][TS_VSRLOWOFFSET] = buf[i];
 
 
        return ret;