OSDN Git Service

KVM: s390: use created_vcpus in more places
authorChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 16 Nov 2017 14:12:52 +0000 (15:12 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 16 Jan 2018 15:15:17 +0000 (16:15 +0100)
commit a03825bbd0c3 ("KVM: s390: use kvm->created_vcpus") introduced
kvm->created_vcpus to avoid races with the existing kvm->online_vcpus
scheme. One place was "forgotten" and one new place was "added".
Let's fix those.

Reported-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Fixes: 4e0b1ab72b8a ("KVM: s390: gs support for kvm guests")
Fixes: a03825bbd0c3 ("KVM: s390: use kvm->created_vcpus")

arch/s390/kvm/kvm-s390.c

index ec8b68e..f579bf5 100644 (file)
@@ -573,7 +573,7 @@ static int kvm_vm_ioctl_enable_cap(struct kvm *kvm, struct kvm_enable_cap *cap)
        case KVM_CAP_S390_GS:
                r = -EINVAL;
                mutex_lock(&kvm->lock);
-               if (atomic_read(&kvm->online_vcpus)) {
+               if (kvm->created_vcpus) {
                        r = -EBUSY;
                } else if (test_facility(133)) {
                        set_kvm_facility(kvm->arch.model.fac_mask, 133);
@@ -1094,7 +1094,7 @@ static int kvm_s390_set_processor_feat(struct kvm *kvm,
                return -EINVAL;
 
        mutex_lock(&kvm->lock);
-       if (!atomic_read(&kvm->online_vcpus)) {
+       if (!kvm->created_vcpus) {
                bitmap_copy(kvm->arch.cpu_feat, (unsigned long *) data.feat,
                            KVM_S390_VM_CPU_FEAT_NR_BITS);
                ret = 0;