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 9e5de6813e1f..a0da58db43a8 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, | |||
298 | } | 298 | } |
299 | 299 | ||
300 | if (current->mm->context.vdso) | 300 | if (current->mm->context.vdso) |
301 | restorer = VDSO32_SYMBOL(current->mm->context.vdso, sigreturn); | 301 | restorer = current->mm->context.vdso + |
302 | selected_vdso32->sym___kernel_sigreturn; | ||
302 | else | 303 | else |
303 | restorer = &frame->retcode; | 304 | restorer = &frame->retcode; |
304 | if (ksig->ka.sa.sa_flags & SA_RESTORER) | 305 | if (ksig->ka.sa.sa_flags & SA_RESTORER) |
@@ -361,7 +362,8 @@ static int __setup_rt_frame(int sig, struct ksignal *ksig, | |||
361 | save_altstack_ex(&frame->uc.uc_stack, regs->sp); | 362 | save_altstack_ex(&frame->uc.uc_stack, regs->sp); |
362 | 363 | ||
363 | /* Set up to return from userspace. */ | 364 | /* Set up to return from userspace. */ |
364 | restorer = VDSO32_SYMBOL(current->mm->context.vdso, rt_sigreturn); | 365 | restorer = current->mm->context.vdso + |
366 | selected_vdso32->sym___kernel_sigreturn; | ||
365 | if (ksig->ka.sa.sa_flags & SA_RESTORER) | 367 | if (ksig->ka.sa.sa_flags & SA_RESTORER) |
366 | restorer = ksig->ka.sa.sa_restorer; | 368 | restorer = ksig->ka.sa.sa_restorer; |
367 | put_user_ex(restorer, &frame->pretcode); | 369 | put_user_ex(restorer, &frame->pretcode); |