mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
x86: xen: no need to disable vdso32
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>
This commit is contained in:
parent
6a52e4b1cd
commit
d5303b811b
1 changed files with 2 additions and 7 deletions
|
@ -137,7 +137,7 @@ void __cpuinit xen_enable_syscall(void)
|
||||||
|
|
||||||
ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
|
ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
|
||||||
if (ret != 0) {
|
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
|
/* Pretty fatal; 64-bit userspace has no other
|
||||||
mechanism for syscalls. */
|
mechanism for syscalls. */
|
||||||
}
|
}
|
||||||
|
@ -145,13 +145,8 @@ void __cpuinit xen_enable_syscall(void)
|
||||||
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
|
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
|
||||||
ret = register_callback(CALLBACKTYPE_syscall32,
|
ret = register_callback(CALLBACKTYPE_syscall32,
|
||||||
xen_syscall32_target);
|
xen_syscall32_target);
|
||||||
if (ret != 0) {
|
if (ret != 0)
|
||||||
printk(KERN_INFO "Xen: 32-bit syscall not supported: disabling vdso\n");
|
|
||||||
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
|
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
|
||||||
#ifdef CONFIG_COMPAT
|
|
||||||
sysctl_vsyscall32 = 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_X86_64 */
|
#endif /* CONFIG_X86_64 */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue