Am 06.02.2012 10:59, schrieb Christian Borntraeger:
+static int __sigp_restart(struct kvm_vcpu *vcpu, u16 cpu_addr)
+{
+       int rc = 0;
+       struct kvm_s390_float_interrupt *fi =&vcpu->kvm->arch.float_int;
+
+       spin_lock(&fi->lock);
+       if (fi->local_int[cpu_addr]->action_bits&  ACTION_STOP_ON_STOP)
+               rc = 2; /* busy */
+       else
+               VCPU_EVENT(vcpu, 4, "sigp restart %x to handle userspace",
+                       cpu_addr);
+       spin_unlock(&fi->lock);
+
+       return rc;
+}

local_int->action_bits is protected by the local int lock of subject CPU,
as one can see in patch #2 of this series. This is racy.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to