aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kernel/ptrace.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c
index f639ccd5060c..3a7f7dd610fd 100644
--- a/arch/mips/kernel/ptrace.c
+++ b/arch/mips/kernel/ptrace.c
@@ -151,6 +151,7 @@ int ptrace_setfpregs(struct task_struct *child, __u32 __user *data)
151 } 151 }
152 152
153 __get_user(child->thread.fpu.fcr31, data + 64); 153 __get_user(child->thread.fpu.fcr31, data + 64);
154 child->thread.fpu.fcr31 &= ~FPU_CSR_ALL_X;
154 155
155 /* FIR may not be written. */ 156 /* FIR may not be written. */
156 157
@@ -565,7 +566,7 @@ long arch_ptrace(struct task_struct *child, long request,
565 break; 566 break;
566#endif 567#endif
567 case FPC_CSR: 568 case FPC_CSR:
568 child->thread.fpu.fcr31 = data; 569 child->thread.fpu.fcr31 = data & ~FPU_CSR_ALL_X;
569 break; 570 break;
570 case DSP_BASE ... DSP_BASE + 5: { 571 case DSP_BASE ... DSP_BASE + 5: {
571 dspreg_t *dregs; 572 dspreg_t *dregs;