From: Peng Hao <flyingpeng@xxxxxxxxxxx> memslot_rmap_alloc is called when kvm_memslot_have_rmaps is enabled, so memslot_rmap_free in the exception process should also be called under the same conditions. Signed-off-by: Peng Hao <flyingpeng@xxxxxxxxxxx> --- arch/x86/kvm/x86.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index af6c8cf6a37a..00a1d96699b8 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -12947,7 +12947,8 @@ static int kvm_alloc_memslot_metadata(struct kvm *kvm, return 0; out_free: - memslot_rmap_free(slot); + if (kvm_memslots_have_rmaps(kvm)) + memslot_rmap_free(slot); for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) { vfree(slot->arch.lpage_info[i - 1]); -- 2.27.0