Sfoglia il codice sorgente

cris: don't leave ->uc_stack unitialized - we'll use its contents on sigreturn

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 12 anni fa
parent
commit
9df794d927

+ 2 - 0
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;
 

+ 1 - 0
arch/cris/arch-v32/kernel/signal.c

@@ -365,6 +365,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
 	err |= __clear_user(&frame->uc, offsetof(struct ucontext, uc_mcontext));
 	err |= setup_sigcontext(&frame->uc.uc_mcontext, regs, set->sig[0]);
 	err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));
+	err |= __save_altstack(&frame->uc.uc_stack, rdusp());
 
 	if (err)
 		goto give_sigsegv;