[patch] paravirt: VDSO page is essential

Ingo Molnar
2007-03-05T12:14:37Z

Subject: [patch] paravirt: VDSO page is essential
From: Ingo Molnar <mingo@elte.hu>

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@elte.hu>
---
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);