Re: [PATCH 1/3] KVM: x86, vmx: Add function for event delivery error generation

From: Sean Christopherson
Date: Wed Oct 16 2024 - 17:06:12 EST


On Tue, Oct 15, 2024, Ivan Orlov wrote:
> > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> > > index c67e448c6ebd..afd785e7f3a3 100644
> > > --- a/arch/x86/kvm/vmx/vmx.c
> > > +++ b/arch/x86/kvm/vmx/vmx.c
> > > @@ -6550,19 +6550,10 @@ static int __vmx_handle_exit(struct kvm_vcpu *vcpu, fastpath_t exit_fastpath)
> > > exit_reason.basic != EXIT_REASON_APIC_ACCESS &&
> > > exit_reason.basic != EXIT_REASON_TASK_SWITCH &&
> > > exit_reason.basic != EXIT_REASON_NOTIFY)) {
> > > - int ndata = 3;
> > > + gpa_t gpa = vmcs_read64(GUEST_PHYSICAL_ADDRESS);
> > > + bool is_mmio = exit_reason.basic == EXIT_REASON_EPT_MISCONFIG;
> >
> > There's no need for is_mmio, just pass INVALID_GPA when the GPA isn't known.
>
> Ah alright, then we definitely don't need an is_mmio field. I assume we
> can't do MMIO at GPA=0, right?

Wrong :-)

>From an architectural perspective, GPA=0 is not special in any way. E.g. prior
to L1TF, Linux would happily use the page with PFN=0.