From: Jes Sorensen Date: Fri, 17 Apr 2009 14:43:27 +0000 (+0200) Subject: KVM: ia64: ia64 vcpu_reset() do not call kmalloc() with irqs disabled X-Git-Tag: kvm-86rc2~66 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=4d2d285ff91737c053d37ba6eb2462ae81b19905;p=users%2Fdwmw2%2Flinux.git 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 Acked-by: Xiantao Zhang Signed-off-by: Avi Kivity --- diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c index e68334150679d..4ee2277d39c9f 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; }