kernel/arch/sh/kernel/signal_32.c
.. .. @@ -115,6 +115,7 @@ 115 115 restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p) 116 116 { 117 117 unsigned int err = 0; 118 + unsigned int sr = regs->sr & ~SR_USER_MASK;118 119 119 120 #define COPY(x) err |= __get_user(regs->x, &sc->sc_##x) 120 121 COPY(regs[1]); .. .. @@ -130,6 +131,8 @@ 130 131 COPY(sr); COPY(pc); 131 132 #undef COPY 132 133 134 + regs->sr = (regs->sr & SR_USER_MASK) | sr;135 +133 136 #ifdef CONFIG_SH_FPU 134 137 if (boot_cpu_data.flags & CPU_HAS_FPU) { 135 138 int owned_fp;