| Subject | Re: [PATCH 18/19] KVM: SVM: Ignore writes to Remote Read Data on AVIC write traps | From | Maxim Levitsky <> | Date | Wed, 31 Aug 2022 13:40:30 +0300 |
| |
On Wed, 2022-08-31 at 00:35 +0000, Sean Christopherson wrote: > Drop writes to APIC_RRR, a.k.a. Remote Read Data Register, on AVIC > unaccelerated write traps. The register is read-only and isn't emulated > by KVM. Sending the register through kvm_apic_write_nodecode() will > result in screaming when x2APIC is enabled due to the unexpected failure > to retrieve the MSR (KVM expects that only "legal" accesses will trap).
I wonder about ESR register as well (280H), KVM doesn't seem to support it either, but allows 0 writes. Anyway:
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Best regards, Maxim Levitsky
> > Fixes: 4d1d7942e36a ("KVM: SVM: Introduce logic to (de)activate x2AVIC mode") > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- > arch/x86/kvm/svm/avic.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c > index dad5affe44c1..b2033a56010c 100644 > --- a/arch/x86/kvm/svm/avic.c > +++ b/arch/x86/kvm/svm/avic.c > @@ -675,6 +675,9 @@ static int avic_unaccel_trap_write(struct kvm_vcpu *vcpu) > case APIC_DFR: > avic_handle_dfr_update(vcpu); > break; > + case APIC_RRR: > + /* Ignore writes to Read Remote Data, it's read-only. */ > + return 1; > default: > break; > }
|