aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/vdso
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/vdso')
-rw-r--r--arch/x86/vdso/Makefile2
-rw-r--r--arch/x86/vdso/vdso32-setup.c11
2 files changed, 10 insertions, 3 deletions
diff --git a/arch/x86/vdso/Makefile b/arch/x86/vdso/Makefile
index 0a8f4742ef51..17a6b057856b 100644
--- a/arch/x86/vdso/Makefile
+++ b/arch/x86/vdso/Makefile
@@ -39,7 +39,7 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
39 39
40CFL := $(PROFILING) -mcmodel=small -fPIC -g0 -O2 -fasynchronous-unwind-tables -m64 40CFL := $(PROFILING) -mcmodel=small -fPIC -g0 -O2 -fasynchronous-unwind-tables -m64
41 41
42$(vobjs): KBUILD_CFLAGS = $(CFL) 42$(vobjs): KBUILD_CFLAGS += $(CFL)
43 43
44targets += vdso-syms.lds 44targets += vdso-syms.lds
45obj-$(VDSO64-y) += vdso-syms.lds 45obj-$(VDSO64-y) += vdso-syms.lds
diff --git a/arch/x86/vdso/vdso32-setup.c b/arch/x86/vdso/vdso32-setup.c
index 348f1341e1c8..e2af8eee80e3 100644
--- a/arch/x86/vdso/vdso32-setup.c
+++ b/arch/x86/vdso/vdso32-setup.c
@@ -210,8 +210,12 @@ static int use_sysenter __read_mostly = -1;
210/* May not be __init: called during resume */ 210/* May not be __init: called during resume */
211void syscall32_cpu_init(void) 211void syscall32_cpu_init(void)
212{ 212{
213 if (use_sysenter < 0) 213 if (use_sysenter < 0) {
214 use_sysenter = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL); 214 if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL)
215 use_sysenter = 1;
216 if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR)
217 use_sysenter = 1;
218 }
215 219
216 /* Load these always in case some future AMD CPU supports 220 /* Load these always in case some future AMD CPU supports
217 SYSENTER from compat mode too. */ 221 SYSENTER from compat mode too. */
@@ -325,6 +329,9 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack)
325 int ret = 0; 329 int ret = 0;
326 bool compat; 330 bool compat;
327 331
332 if (vdso_enabled == VDSO_DISABLED)
333 return 0;
334
328 down_write(&mm->mmap_sem); 335 down_write(&mm->mmap_sem);
329 336
330 /* Test compat mode once here, in case someone 337 /* Test compat mode once here, in case someone