We should set "err = -ENOMEM;", otherwise it means we're returning
ERR_PTR(0) which is NULL.  It results in a NULL pointer dereference in
the caller.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c
index f48a0c22e8f9..d0b6b5788afc 100644
--- a/arch/powerpc/kvm/e500mc.c
+++ b/arch/powerpc/kvm/e500mc.c
@@ -331,8 +331,10 @@ static struct kvm_vcpu 
*kvmppc_core_vcpu_create_e500mc(struct kvm *kvm,
                goto uninit_vcpu;
 
        vcpu->arch.shared = (void *)__get_free_page(GFP_KERNEL | __GFP_ZERO);
-       if (!vcpu->arch.shared)
+       if (!vcpu->arch.shared) {
+               err = -ENOMEM;
                goto uninit_tlb;
+       }
 
        return vcpu;
 

Reply via email to