[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL715WKyx2irL4CqA8WqETpuQLJMQCzw+GN8NVAN1=p7pVTkYQ@mail.gmail.com>
Date: Mon, 28 Nov 2022 11:26:47 -0800
From: Mingwei Zhang <mizhang@...gle.com>
To: Sean Christopherson <seanjc@...gle.com>
Cc: Paolo Bonzini <pbonzini@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Nagareddy Reddy <nspreddy@...gle.com>,
Jim Mattson <jmattson@...gle.com>,
David Matlack <dmatlack@...gle.com>
Subject: Re: [RFC PATCH v3 2/2] KVM: x86/mmu: replace BUG() with KVM_BUG() in
shadow mmu
> Something like this?
>
> ---
> arch/x86/kvm/mmu/mmu.c | 20 ++++++++++----------
> 1 file changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> index b5a44b8f5f7b..12790ccb8731 100644
> --- a/arch/x86/kvm/mmu/mmu.c
> +++ b/arch/x86/kvm/mmu/mmu.c
> @@ -954,15 +954,16 @@ static void pte_list_remove(struct kvm *kvm, u64 *spte,
> struct pte_list_desc *prev_desc;
> int i;
>
> - if (!rmap_head->val) {
> - pr_err("%s: %p 0->BUG\n", __func__, spte);
> - BUG();
> - } else if (!(rmap_head->val & 1)) {
> + if (KVM_BUG(!rmap_head->val, kvm, "rmap for %p is empty", spte))
> + return;
> +
> + if (!(rmap_head->val & 1)) {
> rmap_printk("%p 1->0\n", spte);
> - if ((u64 *)rmap_head->val != spte) {
> - pr_err("%s: %p 1->BUG\n", __func__, spte);
> - BUG();
> - }
> +
> + if (KVM_BUG((u64 *)rmap_head->val != spte, kvm,
> + "single rmap for %p doesn't match", spte))
> + return;
> +
> rmap_head->val = 0;
> } else {
> rmap_printk("%p many->many\n", spte);
> @@ -979,8 +980,7 @@ static void pte_list_remove(struct kvm *kvm, u64 *spte,
> prev_desc = desc;
> desc = desc->more;
> }
> - pr_err("%s: %p many->many\n", __func__, spte);
> - BUG();
> + KVM_BUG(true, kvm, "no rmap for %p (many->many)", spte);
> }
> }
>
>
> base-commit: d74237e747db7f9f27e821e6683d58185e846378
> --
>
make sense, will update that in the next version.
Powered by blists - more mailing lists