diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-12-23 02:46:34 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-03 18:15:58 -0500 |
commit | da36f98a52e3a299fa067967e2928e9d53d3102f (patch) | |
tree | 717015d1a866739a7b71e39896577f6255d2f5f3 /arch | |
parent | 1e974c21661db89b30eb13040fc9ab99a83b6492 (diff) |
hexagon: don't leave ->uc_stack uninitialized
it's used on rt_sigreturn(2)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/hexagon/kernel/signal.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/hexagon/kernel/signal.c b/arch/hexagon/kernel/signal.c index 46ebd4794663..60fa2ca3202b 100644 --- a/arch/hexagon/kernel/signal.c +++ b/arch/hexagon/kernel/signal.c | |||
@@ -125,6 +125,7 @@ static int setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info, | |||
125 | err |= __put_user(0x5400c004, &frame->tramp[1]); | 125 | err |= __put_user(0x5400c004, &frame->tramp[1]); |
126 | err |= setup_sigcontext(regs, &frame->uc.uc_mcontext); | 126 | err |= setup_sigcontext(regs, &frame->uc.uc_mcontext); |
127 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); | 127 | err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); |
128 | err |= __save_altstack(&frame->uc.uc_stack, user_stack_pointer(regs)); | ||
128 | if (err) | 129 | if (err) |
129 | goto sigsegv; | 130 | goto sigsegv; |
130 | 131 | ||