aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kvm/kvm-ia64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kvm/kvm-ia64.c')
-rw-r--r--arch/ia64/kvm/kvm-ia64.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/ia64/kvm/kvm-ia64.c b/arch/ia64/kvm/kvm-ia64.c
index 3caac477de9e..af1464f7a6ad 100644
--- a/arch/ia64/kvm/kvm-ia64.c
+++ b/arch/ia64/kvm/kvm-ia64.c
@@ -673,16 +673,16 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
673 673
674 vcpu_load(vcpu); 674 vcpu_load(vcpu);
675 675
676 if (vcpu->sigset_active)
677 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
678
676 if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) { 679 if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) {
677 kvm_vcpu_block(vcpu); 680 kvm_vcpu_block(vcpu);
678 clear_bit(KVM_REQ_UNHALT, &vcpu->requests); 681 clear_bit(KVM_REQ_UNHALT, &vcpu->requests);
679 vcpu_put(vcpu); 682 r = -EAGAIN;
680 return -EAGAIN; 683 goto out;
681 } 684 }
682 685
683 if (vcpu->sigset_active)
684 sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
685
686 if (vcpu->mmio_needed) { 686 if (vcpu->mmio_needed) {
687 memcpy(vcpu->mmio_data, kvm_run->mmio.data, 8); 687 memcpy(vcpu->mmio_data, kvm_run->mmio.data, 8);
688 kvm_set_mmio_data(vcpu); 688 kvm_set_mmio_data(vcpu);
@@ -690,7 +690,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
690 vcpu->mmio_needed = 0; 690 vcpu->mmio_needed = 0;
691 } 691 }
692 r = __vcpu_run(vcpu, kvm_run); 692 r = __vcpu_run(vcpu, kvm_run);
693 693out:
694 if (vcpu->sigset_active) 694 if (vcpu->sigset_active)
695 sigprocmask(SIG_SETMASK, &sigsaved, NULL); 695 sigprocmask(SIG_SETMASK, &sigsaved, NULL);
696 696