Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] s390: bug in setup_rt_frame

Consider return value of __put_user() when setting up a signal frame
instead of ignoring it.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Heiko Carstens and committed by
Linus Torvalds
b44df334 022e4fc0

+3 -2
+3 -2
arch/s390/kernel/signal.c
··· 358 358 } else { 359 359 regs->gprs[14] = (unsigned long) 360 360 frame->retcode | PSW_ADDR_AMODE; 361 - err |= __put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, 362 - (u16 __user *)(frame->retcode)); 361 + if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, 362 + (u16 __user *)(frame->retcode))) 363 + goto give_sigsegv; 363 364 } 364 365 365 366 /* Set up backchain. */