x32: Add x32 VDSO support
Add support for the x32 VDSO. The x32 VDSO takes advantage of the
similarity between the x86-64 and the x32 ABIs to contain the same
content, only the container is different, as the x32 VDSO obviously is
an x32 shared object.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 468d591..01b8a0d 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -317,6 +317,12 @@
int ret = 0;
bool compat;
+#ifdef CONFIG_X86_X32_ABI
+ extern int x32_setup_additional_pages(struct linux_binprm *, int);
+ if (test_thread_flag(TIF_X32))
+ return x32_setup_additional_pages (bprm, uses_interp);
+#endif
+
if (vdso_enabled == VDSO_DISABLED)
return 0;