diff options
Diffstat (limited to 'arch/x86/kernel/signal.c')
| -rw-r--r-- | arch/x86/kernel/signal.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 9e5de6813e1..2851d63c120 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c @@ -298,7 +298,8 @@ __setup_frame(int sig, struct ksignal *ksig, sigset_t *set,  	}  	if (current->mm->context.vdso) -		restorer = VDSO32_SYMBOL(current->mm->context.vdso, sigreturn); +		restorer = current->mm->context.vdso + +			selected_vdso32->sym___kernel_sigreturn;  	else  		restorer = &frame->retcode;  	if (ksig->ka.sa.sa_flags & SA_RESTORER) @@ -361,7 +362,8 @@ static int __setup_rt_frame(int sig, struct ksignal *ksig,  		save_altstack_ex(&frame->uc.uc_stack, regs->sp);  		/* Set up to return from userspace.  */ -		restorer = VDSO32_SYMBOL(current->mm->context.vdso, rt_sigreturn); +		restorer = current->mm->context.vdso + +			selected_vdso32->sym___kernel_rt_sigreturn;  		if (ksig->ka.sa.sa_flags & SA_RESTORER)  			restorer = ksig->ka.sa.sa_restorer;  		put_user_ex(restorer, &frame->pretcode);  | 
