From: Sean Christopherson Date: Mon, 2 Mar 2020 23:56:26 +0000 (-0800) Subject: KVM: x86: Clear output regs for CPUID 0x14 if PT isn't exposed to guest X-Git-Tag: v5.15~4175^2~119 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7392079c4e740572a5af72a7223ef5e162e442c9;p=platform%2Fkernel%2Flinux-starfive.git KVM: x86: Clear output regs for CPUID 0x14 if PT isn't exposed to guest Clear the output regs for the main CPUID 0x14 leaf (index=0) if Intel PT isn't exposed to the guest. Leaf 0x14 enumerates Intel PT capabilities and should return zeroes if PT is not supported. Incorrectly reporting PT capabilities is essentially a cosmetic error, i.e. doesn't negatively affect any known userspace/kernel, as the existence of PT itself is correctly enumerated via CPUID 0x7. Reviewed-by: Vitaly Kuznetsov Signed-off-by: Sean Christopherson Signed-off-by: Paolo Bonzini --- diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 1ff1630..c194e49 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -663,8 +663,10 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) break; /* Intel PT */ case 0x14: - if (!f_intel_pt) + if (!f_intel_pt) { + entry->eax = entry->ebx = entry->ecx = entry->edx = 0; break; + } for (i = 1, max_idx = entry->eax; i <= max_idx; ++i) { if (!do_host_cpuid(array, function, i))