diff options
Diffstat (limited to 'arch/s390/kernel/compat_signal.c')
| -rw-r--r-- | arch/s390/kernel/compat_signal.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 95e7ba0fbb7e..8b84bc373e94 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c @@ -412,8 +412,9 @@ static int setup_rt_frame32(int sig, struct k_sigaction *ka, siginfo_t *info,  		regs->gprs[14] = (__u64 __force) ka->sa.sa_restorer | PSW32_ADDR_AMODE;  	} else {  		regs->gprs[14] = (__u64 __force) frame->retcode | PSW32_ADDR_AMODE; -		err |= __put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, -				  (u16 __force __user *)(frame->retcode)); +		if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, +			       (u16 __force __user *)(frame->retcode))) +			goto give_sigsegv;  	}  	/* Set up backchain. */  |