Re: [RFC PATCH] KVM: x86/mmu: replace BUG() with KVM_BUG() in shadow mmu

From: Mingwei Zhang
Date: Wed Nov 23 2022 - 18:49:06 EST


On Wed, Nov 23, 2022 at 3:18 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> On Wed, Nov 23, 2022, Mingwei Zhang wrote:
> > diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> > index 4736d7849c60..075d31b0db9c 100644
> > --- a/arch/x86/kvm/mmu/mmu.c
> > +++ b/arch/x86/kvm/mmu/mmu.c
> > @@ -955,12 +955,12 @@ static void pte_list_remove(u64 *spte, struct kvm_rmap_head *rmap_head)
> >
> > if (!rmap_head->val) {
> > pr_err("%s: %p 0->BUG\n", __func__, spte);
> > - BUG();
> > + KVM_BUG();
>
> This won't compile. KVM_BUG() isn't a direct replacement for BUG(), it's more
> akin to WARN().
>
> And that's why I suggested this be RFC: @kvm needs to be plumbed down here in order
> to use KVM_BUG(). I don't mind that too much, it's just a little unfortunate.

I wonder if using kvm_get_running_vcpu()->kvm is safe here? Assuming
we can, then @kvm plumbing shouldn't be a problem.