diff options
Diffstat (limited to 'arch/powerpc/kernel/signal_64.c')
-rw-r--r-- | arch/powerpc/kernel/signal_64.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index 887e99d85bc2..cbd26928e04d 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c | |||
@@ -346,13 +346,13 @@ static long restore_sigcontext(struct pt_regs *regs, sigset_t *set, int sig, | |||
346 | if (v_regs && !access_ok(VERIFY_READ, v_regs, 34 * sizeof(vector128))) | 346 | if (v_regs && !access_ok(VERIFY_READ, v_regs, 34 * sizeof(vector128))) |
347 | return -EFAULT; | 347 | return -EFAULT; |
348 | /* Copy 33 vec registers (vr0..31 and vscr) from the stack */ | 348 | /* Copy 33 vec registers (vr0..31 and vscr) from the stack */ |
349 | if (v_regs != 0 && (msr & MSR_VEC) != 0) | 349 | if (v_regs != NULL && (msr & MSR_VEC) != 0) |
350 | err |= __copy_from_user(current->thread.vr, v_regs, | 350 | err |= __copy_from_user(current->thread.vr, v_regs, |
351 | 33 * sizeof(vector128)); | 351 | 33 * sizeof(vector128)); |
352 | else if (current->thread.used_vr) | 352 | else if (current->thread.used_vr) |
353 | memset(current->thread.vr, 0, 33 * sizeof(vector128)); | 353 | memset(current->thread.vr, 0, 33 * sizeof(vector128)); |
354 | /* Always get VRSAVE back */ | 354 | /* Always get VRSAVE back */ |
355 | if (v_regs != 0) | 355 | if (v_regs != NULL) |
356 | err |= __get_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); | 356 | err |= __get_user(current->thread.vrsave, (u32 __user *)&v_regs[33]); |
357 | else | 357 | else |
358 | current->thread.vrsave = 0; | 358 | current->thread.vrsave = 0; |
@@ -463,7 +463,7 @@ static long restore_tm_sigcontexts(struct pt_regs *regs, | |||
463 | tm_v_regs, 34 * sizeof(vector128))) | 463 | tm_v_regs, 34 * sizeof(vector128))) |
464 | return -EFAULT; | 464 | return -EFAULT; |
465 | /* Copy 33 vec registers (vr0..31 and vscr) from the stack */ | 465 | /* Copy 33 vec registers (vr0..31 and vscr) from the stack */ |
466 | if (v_regs != 0 && tm_v_regs != 0 && (msr & MSR_VEC) != 0) { | 466 | if (v_regs != NULL && tm_v_regs != NULL && (msr & MSR_VEC) != 0) { |
467 | err |= __copy_from_user(current->thread.vr, v_regs, | 467 | err |= __copy_from_user(current->thread.vr, v_regs, |
468 | 33 * sizeof(vector128)); | 468 | 33 * sizeof(vector128)); |
469 | err |= __copy_from_user(current->thread.transact_vr, tm_v_regs, | 469 | err |= __copy_from_user(current->thread.transact_vr, tm_v_regs, |
@@ -474,7 +474,7 @@ static long restore_tm_sigcontexts(struct pt_regs *regs, | |||
474 | memset(current->thread.transact_vr, 0, 33 * sizeof(vector128)); | 474 | memset(current->thread.transact_vr, 0, 33 * sizeof(vector128)); |
475 | } | 475 | } |
476 | /* Always get VRSAVE back */ | 476 | /* Always get VRSAVE back */ |
477 | if (v_regs != 0 && tm_v_regs != 0) { | 477 | if (v_regs != NULL && tm_v_regs != NULL) { |
478 | err |= __get_user(current->thread.vrsave, | 478 | err |= __get_user(current->thread.vrsave, |
479 | (u32 __user *)&v_regs[33]); | 479 | (u32 __user *)&v_regs[33]); |
480 | err |= __get_user(current->thread.transact_vrsave, | 480 | err |= __get_user(current->thread.transact_vrsave, |