diff options
author | Jes Sorensen <jes@sgi.com> | 2009-04-17 10:43:27 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-10 04:48:44 -0400 |
commit | 43890ae8bcc5fa88ef3061613efe041b866fbc5a (patch) | |
tree | b1bd435ad9dda722eba682d8fb724c7da84ae20f /arch/ia64/kvm/kvm-ia64.c | |
parent | 4d13c3b04f14a9a72ffcdd082acc243e7e56b4e0 (diff) |
KVM: ia64: ia64 vcpu_reset() do not call kmalloc() with irqs disabled
Restore local irq enabled state before calling kvm_arch_vcpu_init(),
which calls kmalloc(GFP_KERNEL).
Signed-off-by: Jes Sorensen <jes@sgi.com>
Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/ia64/kvm/kvm-ia64.c')
-rw-r--r-- | arch/ia64/kvm/kvm-ia64.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c index cf5a19390f4e..be4413e1f43f 100644 --- a/arch/ia64/kvm/kvm-ia64.c +++ b/arch/ia64/kvm/kvm-ia64.c | |||
@@ -2001,6 +2001,7 @@ static int vcpu_reset(struct kvm_vcpu *vcpu) | |||
2001 | long psr; | 2001 | long psr; |
2002 | local_irq_save(psr); | 2002 | local_irq_save(psr); |
2003 | r = kvm_insert_vmm_mapping(vcpu); | 2003 | r = kvm_insert_vmm_mapping(vcpu); |
2004 | local_irq_restore(psr); | ||
2004 | if (r) | 2005 | if (r) |
2005 | goto fail; | 2006 | goto fail; |
2006 | 2007 | ||
@@ -2013,7 +2014,6 @@ static int vcpu_reset(struct kvm_vcpu *vcpu) | |||
2013 | kvm_purge_vmm_mapping(vcpu); | 2014 | kvm_purge_vmm_mapping(vcpu); |
2014 | r = 0; | 2015 | r = 0; |
2015 | fail: | 2016 | fail: |
2016 | local_irq_restore(psr); | ||
2017 | return r; | 2017 | return r; |
2018 | } | 2018 | } |
2019 | 2019 | ||