aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/signal_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/signal_64.c')
-rw-r--r--arch/powerpc/kernel/signal_64.c8
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,