diff options
author | Steve French <sfrench@us.ibm.com> | 2006-06-20 20:36:38 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-06-20 20:36:38 +0000 |
commit | 75ba632a01d4dc70d0a0f3a92b5ec9b4a3644b2d (patch) | |
tree | c2f02ee30609d0d69308b4ca80d68d02a5f85552 /arch/powerpc/kernel/signal_64.c | |
parent | 0fd1ffe0633b4b039b343b753598e6df435e034d (diff) | |
parent | 25f42b6af09e34c3f92107b36b5aa6edc2fdba2f (diff) | |
download | op-kernel-dev-75ba632a01d4dc70d0a0f3a92b5ec9b4a3644b2d.zip op-kernel-dev-75ba632a01d4dc70d0a0f3a92b5ec9b4a3644b2d.tar.gz |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'arch/powerpc/kernel/signal_64.c')
-rw-r--r-- | arch/powerpc/kernel/signal_64.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index 27f65b9..c2db642 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c @@ -182,6 +182,8 @@ static long restore_sigcontext(struct pt_regs *regs, sigset_t *set, int sig, err |= __get_user(msr, &sc->gp_regs[PT_MSR]); if (err) return err; + if (v_regs && !access_ok(VERIFY_READ, v_regs, 34 * sizeof(vector128))) + return -EFAULT; /* Copy 33 vec registers (vr0..31 and vscr) from the stack */ if (v_regs != 0 && (msr & MSR_VEC) != 0) err |= __copy_from_user(current->thread.vr, v_regs, |