diff options
Diffstat (limited to 'arch/x86/vdso')
-rw-r--r-- | arch/x86/vdso/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/vdso/vdso32-setup.c | 11 |
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 | ||
40 | CFL := $(PROFILING) -mcmodel=small -fPIC -g0 -O2 -fasynchronous-unwind-tables -m64 | 40 | CFL := $(PROFILING) -mcmodel=small -fPIC -g0 -O2 -fasynchronous-unwind-tables -m64 |
41 | 41 | ||
42 | $(vobjs): KBUILD_CFLAGS = $(CFL) | 42 | $(vobjs): KBUILD_CFLAGS += $(CFL) |
43 | 43 | ||
44 | targets += vdso-syms.lds | 44 | targets += vdso-syms.lds |
45 | obj-$(VDSO64-y) += vdso-syms.lds | 45 | obj-$(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 */ |
211 | void syscall32_cpu_init(void) | 211 | void 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 |