|
@@ -2958,15 +2958,15 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
|
|
|
|
|
|
vcpu_load(vcpu);
|
|
|
|
|
|
+ if (vcpu->sigset_active)
|
|
|
+ sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
|
|
|
+
|
|
|
if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) {
|
|
|
kvm_vcpu_block(vcpu);
|
|
|
- vcpu_put(vcpu);
|
|
|
- return -EAGAIN;
|
|
|
+ r = -EAGAIN;
|
|
|
+ goto out;
|
|
|
}
|
|
|
|
|
|
- if (vcpu->sigset_active)
|
|
|
- sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);
|
|
|
-
|
|
|
/* re-sync apic's tpr */
|
|
|
if (!irqchip_in_kernel(vcpu->kvm))
|
|
|
kvm_set_cr8(vcpu, kvm_run->cr8);
|