Skip to content

Commit

Permalink
x86: xen: no need to disable vdso32
Browse files Browse the repository at this point in the history
Now that the vdso32 code can cope with both syscall and sysenter
missing for 32-bit compat processes, just disable the features without
disabling vdso altogether.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
  • Loading branch information
Jeremy Fitzhardinge authored and Ingo Molnar committed Jul 16, 2008
1 parent 6a52e4b commit d5303b8
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions arch/x86/xen/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,21 +137,16 @@ void __cpuinit xen_enable_syscall(void)

ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
if (ret != 0) {
printk(KERN_ERR "Failed to set syscall: %d\n", ret);
printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
/* Pretty fatal; 64-bit userspace has no other
mechanism for syscalls. */
}

if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
ret = register_callback(CALLBACKTYPE_syscall32,
xen_syscall32_target);
if (ret != 0) {
printk(KERN_INFO "Xen: 32-bit syscall not supported: disabling vdso\n");
if (ret != 0)
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
#ifdef CONFIG_COMPAT
sysctl_vsyscall32 = 0;
#endif
}
}
#endif /* CONFIG_X86_64 */
}
Expand Down

0 comments on commit d5303b8

Please sign in to comment.