Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac9f6dc0 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Apply the kernel sigmask to vcpus blocked due to being uninitialized



Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent 4e1096d2
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -2958,15 +2958,15 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)


	vcpu_load(vcpu);
	vcpu_load(vcpu);


	if (vcpu->sigset_active)
		sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);

	if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) {
	if (unlikely(vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)) {
		kvm_vcpu_block(vcpu);
		kvm_vcpu_block(vcpu);
		vcpu_put(vcpu);
		r = -EAGAIN;
		return -EAGAIN;
		goto out;
	}
	}


	if (vcpu->sigset_active)
		sigprocmask(SIG_SETMASK, &vcpu->sigset, &sigsaved);

	/* re-sync apic's tpr */
	/* re-sync apic's tpr */
	if (!irqchip_in_kernel(vcpu->kvm))
	if (!irqchip_in_kernel(vcpu->kvm))
		kvm_set_cr8(vcpu, kvm_run->cr8);
		kvm_set_cr8(vcpu, kvm_run->cr8);