Browse Source

KVM: PPC: e500mc: Fix a NULL dereference

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 <dan.carpenter@oracle.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Dan Carpenter 8 years ago
parent
commit
50a1a25987
1 changed files with 3 additions and 1 deletions
  1. 3 1
      arch/powerpc/kvm/e500mc.c

+ 3 - 1
arch/powerpc/kvm/e500mc.c

@@ -331,8 +331,10 @@ static struct kvm_vcpu *kvmppc_core_vcpu_create_e500mc(struct kvm *kvm,
 		goto uninit_vcpu;
 		goto uninit_vcpu;
 
 
 	vcpu->arch.shared = (void *)__get_free_page(GFP_KERNEL | __GFP_ZERO);
 	vcpu->arch.shared = (void *)__get_free_page(GFP_KERNEL | __GFP_ZERO);
-	if (!vcpu->arch.shared)
+	if (!vcpu->arch.shared) {
+		err = -ENOMEM;
 		goto uninit_tlb;
 		goto uninit_tlb;
+	}
 
 
 	return vcpu;
 	return vcpu;