Re: [PATCH] KVM: x86/mmu: fix potential races when walking host page table

From: Sean Christopherson
Date: Fri Apr 29 2022 - 10:36:28 EST


On Fri, Apr 29, 2022, Paolo Bonzini wrote:
> > +out:
> > + local_irq_restore(flags);
> > + return level;
> > +}
> > +EXPORT_SYMBOL_GPL(kvm_lookup_address_level_in_mm);
>
> Exporting is not needed.
>
> Thanks for writing the walk code though. I'll adapt it and integrate the
> patch.

But why are we fixing this only in KVM? I liked the idea of stealing perf's
implementation because it was a seemlingly perfect fit and wouldn't introduce
new code (ignoring wrappers, etc...).

We _know_ that at least one subsystem is misusing lookup_address_in_pgd() and
given that its wrappers are exported, I highly doubt KVM is the only offender.
It really feels like we're passing the buck here by burying the fix in KVM.