Commit 89cfc991 authored by Rusty Russell's avatar Rusty Russell

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: default avatarRusty Russell <rusty@rustcorp.com.au>
parent b56e3215
...@@ -70,6 +70,7 @@ ...@@ -70,6 +70,7 @@
#include <asm/i387.h> #include <asm/i387.h>
#include <asm/stackprotector.h> #include <asm/stackprotector.h>
#include <asm/reboot.h> /* for struct machine_ops */ #include <asm/reboot.h> /* for struct machine_ops */
#include <asm/kvm_para.h>
/*G:010 /*G:010
* Welcome to the Guest! * Welcome to the Guest!
...@@ -455,6 +456,15 @@ static void lguest_cpuid(unsigned int *ax, unsigned int *bx, ...@@ -455,6 +456,15 @@ static void lguest_cpuid(unsigned int *ax, unsigned int *bx,
*ax &= 0xFFFFF0FF; *ax &= 0xFFFFF0FF;
*ax |= 0x00000500; *ax |= 0x00000500;
break; 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 * 0x80000000 returns the highest Extended Function, so we futureproof
* like we do above by limiting it to known fields. * like we do above by limiting it to known fields.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment