Re: [PATCH v2 3/3] kvm/x86: Allow to respond to generic signals during slow page faults

From: Sean Christopherson
Date: Mon Aug 15 2022 - 21:36:39 EST


On Thu, Aug 11, 2022, Peter Xu wrote:
> On Thu, Aug 11, 2022 at 08:12:38PM +0000, Sean Christopherson wrote:
> > > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> > > index 17252f39bd7c..aeafe0e9cfbf 100644
> > > --- a/arch/x86/kvm/mmu/mmu.c
> > > +++ b/arch/x86/kvm/mmu/mmu.c
> > > @@ -3012,6 +3012,13 @@ static int kvm_handle_bad_page(struct kvm_vcpu *vcpu, gfn_t gfn, kvm_pfn_t pfn)
> > > static int handle_abnormal_pfn(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault,
> > > unsigned int access)
> > > {
> > > + /* NOTE: not all error pfn is fatal; handle sigpending pfn first */
> > > + if (unlikely(is_sigpending_pfn(fault->pfn))) {
> >
> > Move this into kvm_handle_bad_page(), then there's no need for a comment to call
> > out that this needs to come before the is_error_pfn() check. This _is_ a "bad"
> > PFN, it just so happens that userspace might be able to resolve the "bad" PFN.
>
> It's a pity it needs to be in "bad pfn" category since that's the only
> thing we can easily use, but true it is now.

Would renaming that to kvm_handle_error_pfn() help? I agree that "bad" is poor
terminology now that it handles a variety of errors, hence the quotes.