Browse Source

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>
Jes Sorensen 16 years ago
parent
commit
43890ae8bc
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/ia64/kvm/kvm-ia64.c

+ 1 - 1
arch/ia64/kvm/kvm-ia64.c

@@ -2001,6 +2001,7 @@ static int vcpu_reset(struct kvm_vcpu *vcpu)
 	long psr;
 	long psr;
 	local_irq_save(psr);
 	local_irq_save(psr);
 	r = kvm_insert_vmm_mapping(vcpu);
 	r = kvm_insert_vmm_mapping(vcpu);
+	local_irq_restore(psr);
 	if (r)
 	if (r)
 		goto fail;
 		goto fail;
 
 
@@ -2013,7 +2014,6 @@ static int vcpu_reset(struct kvm_vcpu *vcpu)
 	kvm_purge_vmm_mapping(vcpu);
 	kvm_purge_vmm_mapping(vcpu);
 	r = 0;
 	r = 0;
 fail:
 fail:
-	local_irq_restore(psr);
 	return r;
 	return r;
 }
 }