Commit cb10bf91 authored by Sean Christopherson's avatar Sean Christopherson Committed by Paolo Bonzini
Browse files

KVM: PPC: Book3S PR: Free shared page if mmu initialization fails



Explicitly free the shared page if kvmppc_mmu_init() fails during
kvmppc_core_vcpu_create(), as the page is freed only in
kvmppc_core_vcpu_free(), which is not reached via kvm_vcpu_uninit().

Fixes: 96bc451a ("KVM: PPC: Introduce shared page")
Cc: stable@vger.kernel.org
Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
Acked-by: default avatarPaul Mackerras <paulus@ozlabs.org>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 1a978d9d
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -1806,10 +1806,12 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_pr(struct kvm *kvm,


	err = kvmppc_mmu_init(vcpu);
	err = kvmppc_mmu_init(vcpu);
	if (err < 0)
	if (err < 0)
		goto uninit_vcpu;
		goto free_shared_page;


	return vcpu;
	return vcpu;


free_shared_page:
	free_page((unsigned long)vcpu->arch.shared);
uninit_vcpu:
uninit_vcpu:
	kvm_vcpu_uninit(vcpu);
	kvm_vcpu_uninit(vcpu);
free_shadow_vcpu:
free_shadow_vcpu: