Message ID | 20210802183329.2309921-9-mlevitsk@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | My AVIC patch queue | expand |
On 02/08/21 20:33, Maxim Levitsky wrote: > > + WARN_ON_ONCE(vcpu->kvm->arch.apic_access_memslot_enabled != > + kvm_vcpu_apicv_active(vcpu)); This should also check !vcpu->kvm->arch.apicv_inhibit_reasons instead of apic_access_memslot_enabled. Paolo
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c index 4feff53dd1d3..3923d383face 100644 --- a/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c @@ -3781,6 +3781,9 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) pre_svm_run(vcpu); + WARN_ON_ONCE(vcpu->kvm->arch.apic_access_memslot_enabled != + kvm_vcpu_apicv_active(vcpu)); + sync_lapic_to_cr8(vcpu); if (unlikely(svm->asid != svm->vmcb->control.asid)) {
It is never a good idea to enter a guest when AVIC state doesn't match the state of the AVIC MMIO page state. Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> --- arch/x86/kvm/svm/svm.c | 3 +++ 1 file changed, 3 insertions(+)