From 98707f46e1806664c2abe3aad73c34ed0ca3049b Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Tue, 2 Aug 2011 10:25:13 +1000 Subject: [PATCH] lguest: don't allow KVM-detection cpuid. Host might be running under KVM, but we shouldn't allow Guest to think it can use KVM hypercalls (it can't, and it will embarrass itself if it tries). Signed-off-by: Rusty Russell --- arch/x86/lguest/boot.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index 13ee258442ae..f63da5ef217c 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c @@ -70,6 +70,7 @@ #include #include #include /* for struct machine_ops */ +#include /*G:010 * Welcome to the Guest! @@ -455,6 +456,15 @@ static void lguest_cpuid(unsigned int *ax, unsigned int *bx, *ax &= 0xFFFFF0FF; *ax |= 0x00000500; break; + + /* + * This is used to detect if we're running under KVM. We might be, + * but that's a Host matter, not us. So say we're not. + */ + case KVM_CPUID_SIGNATURE: + *bx = *cx = *dx = 0; + break; + /* * 0x80000000 returns the highest Extended Function, so we futureproof * like we do above by limiting it to known fields. -- 2.39.5