diff options
Diffstat (limited to 'arch/x86/ia32/ia32_signal.c')
| -rw-r--r-- | arch/x86/ia32/ia32_signal.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c index 665a730307f..f9e181aaba9 100644 --- a/arch/x86/ia32/ia32_signal.c +++ b/arch/x86/ia32/ia32_signal.c @@ -34,7 +34,7 @@  #include <asm/sys_ia32.h>  #include <asm/smap.h> -int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) +int copy_siginfo_to_user32(compat_siginfo_t __user *to, const siginfo_t *from)  {  	int err = 0;  	bool ia32 = test_thread_flag(TIF_IA32); @@ -383,8 +383,8 @@ int ia32_setup_frame(int sig, struct ksignal *ksig,  	} else {  		/* Return stub is in 32bit vsyscall page */  		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;  	} @@ -462,8 +462,8 @@ int ia32_setup_rt_frame(int sig, struct ksignal *ksig,  		if (ksig->ka.sa.sa_flags & SA_RESTORER)  			restorer = ksig->ka.sa.sa_restorer;  		else -			restorer = VDSO32_SYMBOL(current->mm->context.vdso, -						 rt_sigreturn); +			restorer = current->mm->context.vdso + +				selected_vdso32->sym___kernel_rt_sigreturn;  		put_user_ex(ptr_to_compat(restorer), &frame->pretcode);  		/*  | 
