Skip to content

Commit

Permalink
lguest: don't allow KVM-detection cpuid.
Browse files Browse the repository at this point in the history
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 <rusty@rustcorp.com.au>
  • Loading branch information
Rusty Russell committed Oct 27, 2011
1 parent b56e321 commit 89cfc99
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions arch/x86/lguest/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
#include <asm/i387.h>
#include <asm/stackprotector.h>
#include <asm/reboot.h> /* for struct machine_ops */
#include <asm/kvm_para.h>

/*G:010
* Welcome to the Guest!
Expand Down Expand Up @@ -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.
Expand Down

0 comments on commit 89cfc99

Please sign in to comment.