Re: [PATCH 0/4] KVM: x86/mmu: Page fault handling cleanups

From: Sean Christopherson
Date: Fri Sep 25 2020 - 16:45:36 EST


On Fri, Sep 25, 2020 at 10:38:02PM +0200, Paolo Bonzini wrote:
> On 24/09/20 00:04, Sean Christopherson wrote:
> > Cleanups for page fault handling that were encountered during early TDX
> > enabling, but are worthwhile on their own. Specifically, patch 4 fixes an
> > issue where KVM doesn't detect a spurious page fault (due to the fault
> > being fixed by a different pCPU+vCPU) and does the full gamut of writing
> > the SPTE, updating stats, and prefetching SPTEs.
> >
> > Sean Christopherson (4):
> > KVM: x86/mmu: Return -EIO if page fault returns RET_PF_INVALID
> > KVM: x86/mmu: Invert RET_PF_* check when falling through to emulation
> > KVM: x86/mmu: Return unique RET_PF_* values if the fault was fixed
> > KVM: x86/mmu: Bail early from final #PF handling on spurious faults
> >
> > arch/x86/kvm/mmu/mmu.c | 70 +++++++++++++++++++++-------------
> > arch/x86/kvm/mmu/mmutrace.h | 13 +++----
> > arch/x86/kvm/mmu/paging_tmpl.h | 3 ++
> > 3 files changed, 52 insertions(+), 34 deletions(-)
> >
>
> Queued, thanks. Looking at the KVM_BUG_ON now since patch 1 is somewhat
> related.

Ha, very prescient of you, that's actually a KVM_BUG_ON() in my "kitchen sink"
combo of everything :-)