Subject: [patch] paravirt: VDSO page is essential
From: Ingo Molnar <mingo@xxxxxxx>
commit 3bbf54725467d604698721384d858b5983b87e8f disables the VDSO for CONFIG_PARAVIRT kernels. This #ifdeffery was a bad change: the VDSO is an essential component of Linux, and this change forces all of them to use int $0x80 - including sane ones like KVM. (If a hypervisor does not handle the VDSO properly then it can work things around via the vdso=0 boot option. Or CONFIG_PARAVIRT should not have been merged. But in any case, it is a basic taste issue: we DO NOT #ifdef around core features like this!)
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
arch/i386/kernel/sysenter.c | 4 ----
1 file changed, 4 deletions(-)
Index: linux/arch/i386/kernel/sysenter.c
===================================================================
--- linux.orig/arch/i386/kernel/sysenter.c
+++ linux/arch/i386/kernel/sysenter.c
@@ -27,11 +27,7 @@
* Should the kernel map a VDSO page into processes and pass its
* address down to glibc upon exec()?
*/
-#ifdef CONFIG_PARAVIRT
-unsigned int __read_mostly vdso_enabled = 0;
-#else
unsigned int __read_mostly vdso_enabled = 1;
-#endif
EXPORT_SYMBOL_GPL(vdso_enabled);