hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/sh/kernel/signal_32.c
....@@ -115,6 +115,7 @@
115115 restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p)
116116 {
117117 unsigned int err = 0;
118
+ unsigned int sr = regs->sr & ~SR_USER_MASK;
118119
119120 #define COPY(x) err |= __get_user(regs->x, &sc->sc_##x)
120121 COPY(regs[1]);
....@@ -130,6 +131,8 @@
130131 COPY(sr); COPY(pc);
131132 #undef COPY
132133
134
+ regs->sr = (regs->sr & SR_USER_MASK) | sr;
135
+
133136 #ifdef CONFIG_SH_FPU
134137 if (boot_cpu_data.flags & CPU_HAS_FPU) {
135138 int owned_fp;