KVM: VMX: Update PT MSR intercepts during filter change iff PT in host+guest
authorSean Christopherson <seanjc@google.com>
Tue, 12 Jul 2022 01:58:38 +0000 (01:58 +0000)
committerSean Christopherson <seanjc@google.com>
Thu, 14 Jul 2022 01:14:25 +0000 (18:14 -0700)
commitb184b35d06b2a3de65ff2ef4303f83535572266c
tree98ef5d6169d1f1597976368a67bd897f747b60d4
parent3d5f8d03786fee6aa7a4c59446c5356775aeb4d9
KVM: VMX: Update PT MSR intercepts during filter change iff PT in host+guest

Update the Processor Trace (PT) MSR intercepts during a filter change if
and only if PT may be exposed to the guest, i.e. only if KVM is operating
in the so called "host+guest" mode where PT can be used simultaneously by
both the host and guest.  If PT is in system mode, the host is the sole
owner of PT and the MSRs should never be passed through to the guest.

Luckily the missed check only results in unnecessary work, as select RTIT
MSRs are passed through only when RTIT tracing is enabled "in" the guest,
and tracing can't be enabled in the guest when KVM is in system mode
(writes to guest.MSR_IA32_RTIT_CTL are disallowed).

Cc: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20220712015838.1253995-1-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/vmx.c