summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kvm
diff options
context:
space:
mode:
authorThadeu Lima de Souza Cascardo2013-07-17 17:10:29 +0200
committerAlexander Graf2013-08-28 16:26:33 +0200
commit7c7b406e6b2867b8dcd638519e42b199ae222358 (patch)
tree88e5a3bb9749090b2e2a43c7953cfe713d9218a7 /arch/powerpc/kvm
parentarch: powerpc: kvm: add signed type cast for comparation (diff)
downloadkernel-qcow2-linux-7c7b406e6b2867b8dcd638519e42b199ae222358.tar.gz
kernel-qcow2-linux-7c7b406e6b2867b8dcd638519e42b199ae222358.tar.xz
kernel-qcow2-linux-7c7b406e6b2867b8dcd638519e42b199ae222358.zip
KVM: PPC: Book3S PR: return appropriate error when allocation fails
err was overwritten by a previous function call, and checked to be 0. If the following page allocation fails, 0 is going to be returned instead of -ENOMEM. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/kvm')
-rw-r--r--arch/powerpc/kvm/book3s_pr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index ddfaf560e503..19cbac6f9d03 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1047,11 +1047,12 @@ struct kvm_vcpu *kvmppc_core_vcpu_create(struct kvm *kvm, unsigned int id)
if (err)
goto free_shadow_vcpu;
+ err = -ENOMEM;
p = __get_free_page(GFP_KERNEL|__GFP_ZERO);
- /* the real shared page fills the last 4k of our page */
- vcpu->arch.shared = (void*)(p + PAGE_SIZE - 4096);
if (!p)
goto uninit_vcpu;
+ /* the real shared page fills the last 4k of our page */
+ vcpu->arch.shared = (void *)(p + PAGE_SIZE - 4096);
#ifdef CONFIG_PPC_BOOK3S_64
/* default to book3s_64 (970fx) */