diff options
author | Jes Sorensen <jes@sgi.com> | 2009-04-17 16:43:27 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-10 10:48:44 +0200 |
commit | 43890ae8bcc5fa88ef3061613efe041b866fbc5a (patch) | |
tree | b1bd435ad9dda722eba682d8fb724c7da84ae20f /arch | |
parent | KVM: ia64: preserve int status through call to kvm_insert_vmm_mapping (diff) | |
download | linux-43890ae8bcc5fa88ef3061613efe041b866fbc5a.tar.xz linux-43890ae8bcc5fa88ef3061613efe041b866fbc5a.zip |
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')
-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) long psr; local_irq_save(psr); r = kvm_insert_vmm_mapping(vcpu); + local_irq_restore(psr); if (r) goto fail; @@ -2013,7 +2014,6 @@ static int vcpu_reset(struct kvm_vcpu *vcpu) kvm_purge_vmm_mapping(vcpu); r = 0; fail: - local_irq_restore(psr); return r; } |