lkml.org 
[lkml]   [2020]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 45/91] KVM: PPC: Book3S PR: Free shared page if mmu initialization fails
    Date
    From: Sean Christopherson <sean.j.christopherson@intel.com>

    commit cb10bf9194f4d2c5d830eddca861f7ca0fecdbb4 upstream.

    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: 96bc451a15329 ("KVM: PPC: Introduce shared page")
    Cc: stable@vger.kernel.org
    Reviewed-by: Greg Kurz <groug@kaod.org>
    Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
    Acked-by: Paul Mackerras <paulus@ozlabs.org>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/powerpc/kvm/book3s_pr.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- a/arch/powerpc/kvm/book3s_pr.c
    +++ b/arch/powerpc/kvm/book3s_pr.c
    @@ -1434,10 +1434,12 @@ static struct kvm_vcpu *kvmppc_core_vcpu

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

    return vcpu;

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

    \
     
     \ /
      Last update: 2020-02-13 16:23    [W:3.951 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site