diff options
author | George Dunlap <george.dunlap@eu.citrix.com> | 2013-09-23 16:27:39 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-09-23 16:27:39 +0200 |
commit | 420bd9be17b480d8c2e1c9897bfd3a42d209c8e5 (patch) | |
tree | 8a5aed0ca3d90cbcbc4743f8064cf102c95025cf | |
parent | d9b46e5c84fdd38b4df766148bdf6582b4a04746 (diff) | |
download | xen-420bd9be17b480d8c2e1c9897bfd3a42d209c8e5.tar.gz xen-420bd9be17b480d8c2e1c9897bfd3a42d209c8e5.tar.bz2 xen-420bd9be17b480d8c2e1c9897bfd3a42d209c8e5.zip |
VMX: fix failure path in construct_vmcs
If the allocation fails, make sure to call vmx_vmcs_exit().
This is a candidate for backport.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
master commit: dad7e45bf44c0569546a3ed7d0fa4182a4a73f0a
master date: 2013-09-18 14:45:42 +0200
-rw-r--r-- | xen/arch/x86/hvm/vmx/vmcs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c index 759718fab2..6ef9739bfd 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -894,7 +894,10 @@ static int construct_vmcs(struct vcpu *v) unsigned long *msr_bitmap = alloc_xenheap_page(); if ( msr_bitmap == NULL ) + { + vmx_vmcs_exit(v); return -ENOMEM; + } memset(msr_bitmap, ~0, PAGE_SIZE); v->arch.hvm_vmx.msr_bitmap = msr_bitmap; |