On Wed, Apr 28, 2021 at 3:00 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > Typo in the commit subject, I guess? Oh woops, yeah It should just be "Deduplicate rmap freeing" or something to that effect. > > Paolo > > On 28/04/21 00:36, Ben Gardon wrote: > > Small code deduplication. No functional change expected. > > > > Signed-off-by: Ben Gardon <bgardon@xxxxxxxxxx> > > --- > > arch/x86/kvm/x86.c | 19 +++++++++++-------- > > 1 file changed, 11 insertions(+), 8 deletions(-) > > > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > > index cf3b67679cf0..5bcf07465c47 100644 > > --- a/arch/x86/kvm/x86.c > > +++ b/arch/x86/kvm/x86.c > > @@ -10818,17 +10818,23 @@ void kvm_arch_destroy_vm(struct kvm *kvm) > > kvm_hv_destroy_vm(kvm); > > } > > > > -void kvm_arch_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot) > > +static void free_memslot_rmap(struct kvm_memory_slot *slot) > > { > > int i; > > > > for (i = 0; i < KVM_NR_PAGE_SIZES; ++i) { > > kvfree(slot->arch.rmap[i]); > > slot->arch.rmap[i] = NULL; > > + } > > +} > > > > - if (i == 0) > > - continue; > > +void kvm_arch_free_memslot(struct kvm *kvm, struct kvm_memory_slot *slot) > > +{ > > + int i; > > + > > + free_memslot_rmap(slot); > > > > + for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) { > > kvfree(slot->arch.lpage_info[i - 1]); > > slot->arch.lpage_info[i - 1] = NULL; > > } > > @@ -10894,12 +10900,9 @@ static int kvm_alloc_memslot_metadata(struct kvm_memory_slot *slot, > > return 0; > > > > out_free: > > - for (i = 0; i < KVM_NR_PAGE_SIZES; ++i) { > > - kvfree(slot->arch.rmap[i]); > > - slot->arch.rmap[i] = NULL; > > - if (i == 0) > > - continue; > > + free_memslot_rmap(slot); > > > > + for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) { > > kvfree(slot->arch.lpage_info[i - 1]); > > slot->arch.lpage_info[i - 1] = NULL; > > } > > >