Message ID | 20220907080657.42898-1-linmiaohe@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: x86/mmu: add missing update to max_mmu_rmap_size | expand |
On Wed, Sep 07, 2022, Miaohe Lin wrote: > The update to statistic max_mmu_rmap_size is unintentionally removed by > commit 4293ddb788c1 ("KVM: x86/mmu: Remove redundant spte present check > in mmu_set_spte"). Add missing update to it or max_mmu_rmap_size will > always be nonsensical 0. > > Fixes: 4293ddb788c1 ("KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte") For anyone else wondering "how did so many reviewers miss this obvious bug?", the answer is that the reviews were collected for v3 and earlier, and the mishandled merge conflict only showed up in v4. > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> > --- Reviewed-by: Sean Christopherson <seanjc@google.com> Paolo, do you want to grab this for 6.0?
Queued, thanks. Paolo
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c index d25d55b1f0b5..858bc53cfab4 100644 --- a/arch/x86/kvm/mmu/mmu.c +++ b/arch/x86/kvm/mmu/mmu.c @@ -1596,6 +1596,8 @@ static void __rmap_add(struct kvm *kvm, rmap_head = gfn_to_rmap(gfn, sp->role.level, slot); rmap_count = pte_list_add(cache, spte, rmap_head); + if (rmap_count > kvm->stat.max_mmu_rmap_size) + kvm->stat.max_mmu_rmap_size = rmap_count; if (rmap_count > RMAP_RECYCLE_THRESHOLD) { kvm_zap_all_rmap_sptes(kvm, rmap_head); kvm_flush_remote_tlbs_with_address(
The update to statistic max_mmu_rmap_size is unintentionally removed by commit 4293ddb788c1 ("KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte"). Add missing update to it or max_mmu_rmap_size will always be nonsensical 0. Fixes: 4293ddb788c1 ("KVM: x86/mmu: Remove redundant spte present check in mmu_set_spte") Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> --- arch/x86/kvm/mmu/mmu.c | 2 ++ 1 file changed, 2 insertions(+)