diff options
Diffstat (limited to 'arch/x86/ia32/syscall32.c')
-rw-r--r-- | arch/x86/ia32/syscall32.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/ia32/syscall32.c b/arch/x86/ia32/syscall32.c index d751d96c2ef..98ff99f5b59 100644 --- a/arch/x86/ia32/syscall32.c +++ b/arch/x86/ia32/syscall32.c @@ -46,6 +46,10 @@ int syscall32_setup_pages(struct linux_binprm *bprm, int exstack) VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC| VM_ALWAYSDUMP, syscall32_pages); + if (ret == 0) { + current->mm->context.vdso = (void __user *)VSYSCALL32_BASE; + current_thread_info()->sysenter_return = VSYSCALL32_SYSEXIT; + } up_write(&mm->mmap_sem); return ret; } |