diff options
Diffstat (limited to 'arch/x86/um/signal.c')
| -rw-r--r-- | arch/x86/um/signal.c | 9 | 
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/x86/um/signal.c b/arch/x86/um/signal.c index bdaa08cfbcf..71cef48ea5c 100644 --- a/arch/x86/um/signal.c +++ b/arch/x86/um/signal.c @@ -342,9 +342,7 @@ static int copy_ucontext_to_user(struct ucontext __user *uc,  {  	int err = 0; -	err |= put_user(current->sas_ss_sp, &uc->uc_stack.ss_sp); -	err |= put_user(sas_ss_flags(sp), &uc->uc_stack.ss_flags); -	err |= put_user(current->sas_ss_size, &uc->uc_stack.ss_size); +	err |= __save_altstack(&uc->uc_stack, sp);  	err |= copy_sc_to_user(&uc->uc_mcontext, fp, ¤t->thread.regs, 0);  	err |= copy_to_user(&uc->uc_sigmask, set, sizeof(*set));  	return err; @@ -529,10 +527,7 @@ int setup_signal_stack_si(unsigned long stack_top, int sig,  	/* Create the ucontext.  */  	err |= __put_user(0, &frame->uc.uc_flags);  	err |= __put_user(0, &frame->uc.uc_link); -	err |= __put_user(me->sas_ss_sp, &frame->uc.uc_stack.ss_sp); -	err |= __put_user(sas_ss_flags(PT_REGS_SP(regs)), -			  &frame->uc.uc_stack.ss_flags); -	err |= __put_user(me->sas_ss_size, &frame->uc.uc_stack.ss_size); +	err |= __save_altstack(&frame->uc.uc_stack, PT_REGS_SP(regs));  	err |= copy_sc_to_user(&frame->uc.uc_mcontext, &frame->fpstate, regs,  			       set->sig[0]);  	err |= __put_user(&frame->fpstate, &frame->uc.uc_mcontext.fpstate);  |