File 582c35ee-x86-traps-dont-call-hvm_hypervisor_cpuid_leaf-for-PV.patch of Package xen.6117

# Commit 0f43883193da76fc928e836e319c3172f394e0f3
# Date 2016-11-16 10:33:18 +0000
# Author Andrew Cooper <andrew.cooper3@citrix.com>
# Committer Andrew Cooper <andrew.cooper3@citrix.com>
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 <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -743,6 +743,11 @@ int cpuid_hypervisor_leaves( uint32_t id
         break;
 
     case 4:
+        if ( !has_hvm_container_domain(d) )
+        {
+            *eax = *ebx = *ecx = *edx = 0;
+            break;
+        }
         hvm_hypervisor_cpuid_leaf(sub_idx, eax, ebx, ecx, edx);
         break;
 
openSUSE Build Service is sponsored by