diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2006-05-01 15:16:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-01 21:17:46 -0400 |
commit | b44df334a7e909d88cf5c54cc0481b4e2eaeca23 (patch) | |
tree | 17654870a23ee053fe4edc908c452d32968ff1a9 /arch/s390/kernel/signal.c | |
parent | 022e4fc0fb2e4e179aaba4ee139dcb8fded0cba2 (diff) |
[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>
Diffstat (limited to 'arch/s390/kernel/signal.c')
-rw-r--r-- | arch/s390/kernel/signal.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index ae1927e48cfb..d48cfc726b68 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c | |||
@@ -358,8 +358,9 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
358 | } else { | 358 | } else { |
359 | regs->gprs[14] = (unsigned long) | 359 | regs->gprs[14] = (unsigned long) |
360 | frame->retcode | PSW_ADDR_AMODE; | 360 | frame->retcode | PSW_ADDR_AMODE; |
361 | err |= __put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, | 361 | if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, |
362 | (u16 __user *)(frame->retcode)); | 362 | (u16 __user *)(frame->retcode))) |
363 | goto give_sigsegv; | ||
363 | } | 364 | } |
364 | 365 | ||
365 | /* Set up backchain. */ | 366 | /* Set up backchain. */ |