From e87481f62998d2d18919dca0fe5b50fd3962f5e2 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Wed, 18 Jan 2017 10:17:43 +0100 Subject: [PATCH] x86/traps: Don't call hvm_hypervisor_cpuid_leaf() for PV guests Luckily, hvm_hypervisor_cpuid_leaf() and vmx_hypervisor_cpuid_leaf() are safe to execute in the context of a PV guest, but HVM-specific feature flags shouldn't be visible to PV guests. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich master commit: 0f43883193da76fc928e836e319c3172f394e0f3 master date: 2016-11-16 10:33:18 +0000 --- xen/arch/x86/traps.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 27af87f304..85b1481eb0 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -808,6 +808,11 @@ int cpuid_hypervisor_leaves( uint32_t idx, uint32_t sub_idx, break; case 4: + if ( !has_hvm_container_domain(currd) ) + { + *eax = *ebx = *ecx = *edx = 0; + break; + } hvm_hypervisor_cpuid_leaf(sub_idx, eax, ebx, ecx, edx); break;