FAILED: patch "[PATCH] MIPS: KVM: Uninit VCPU in vcpu_create error path" failed to apply to 3.14-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 3.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
585bb8f9a5e592f2ce7abbe5ed3112d5438d2754Mon Sep 17 00:00:00 2001
From: James Hogan <[email protected]>
Date: Wed, 11 Nov 2015 14:21:20 +0000
Subject: [PATCH] MIPS: KVM: Uninit VCPU in vcpu_create error path
If either of the memory allocations in kvm_arch_vcpu_create() fail, the vcpu which has been allocated and kvm_vcpu_init'd doesn't get uninit'd in the error handling path. Add a call to kvm_vcpu_uninit() to fix this.
Fixes 669e846e6c4e ("KVM/MIPS32: MIPS arch specific APIs for KVM")
Signed-off-by James Hogan <[email protected]>
Cc Ralf Baechle <[email protected]>
Cc Paolo Bonzini <[email protected]>
Cc Gleb Natapov <[email protected]>
Cc <[email protected]> # 3.10.x-
Signed-off-by Paolo Bonzini <[email protected]>
arch/mips/kvm/mips.c +4 -1
@@ -279,7 +279,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)if (!gebase) { err = -ENOMEM ; - goto out_free_cpu; + goto out_uninit_cpu; }kvm_debug ("Allocated %d bytes for KVM Exception Handlers @ %p\n" ,ALIGN (size,PAGE_SIZE ), gebase);
@@ -343,6 +343,9 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id) out_free_gebase:kfree (gebase); +out_uninit_cpu: +kvm_vcpu_uninit (vcpu); + out_free_cpu:kfree (vcpu);