aboutsummaryrefslogtreecommitdiffstats
path: root/arch/cris/arch-v10
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-12-23 02:11:49 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2013-02-03 18:15:53 -0500
commit9df794d9275d41012909aaff3cab759e37871974 (patch)
treeff17244321d7297c347351f4a42016ab9392d5d0 /arch/cris/arch-v10
parentcris: switch to generic sigaltstack (diff)
downloadlinux-dev-9df794d9275d41012909aaff3cab759e37871974.tar.xz
linux-dev-9df794d9275d41012909aaff3cab759e37871974.zip
cris: don't leave ->uc_stack unitialized - we'll use its contents on sigreturn
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/cris/arch-v10')
-rw-r--r--arch/cris/arch-v10/kernel/signal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c
index 187237f655e6..9570946a6958 100644
--- a/arch/cris/arch-v10/kernel/signal.c
+++ b/arch/cris/arch-v10/kernel/signal.c
@@ -356,6 +356,8 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
+ err |= __save_altstack(&frame->uc.uc_stack, rdusp());
+
if (err)
goto give_sigsegv;