Now that KVM holds kvm->lock for the entirety of vCPU creation, from when
created_vcpus is incremented until the new vCPU is fully onlined, WARN if
the impossible happens and KVM somehow sees a discrepancy between the
number of vCPUs "created" and "onlined".

Signed-off-by: Sean Christopherson <[email protected]>
---
 virt/kvm/kvm_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 985af39b980a..e66d9761ee49 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1363,7 +1363,7 @@ int kvm_trylock_all_vcpus(struct kvm *kvm)
 
        lockdep_assert_held(&kvm->lock);
 
-       if (kvm_is_vcpu_creation_in_progress(kvm))
+       if (WARN_ON_ONCE(kvm_is_vcpu_creation_in_progress(kvm)))
                return -EBUSY;
 
        kvm_for_each_vcpu(i, vcpu, kvm)
@@ -1389,7 +1389,7 @@ int kvm_lock_all_vcpus(struct kvm *kvm)
 
        lockdep_assert_held(&kvm->lock);
 
-       if (kvm_is_vcpu_creation_in_progress(kvm))
+       if (WARN_ON_ONCE(kvm_is_vcpu_creation_in_progress(kvm)))
                return -EBUSY;
 
        kvm_for_each_vcpu(i, vcpu, kvm) {
-- 
2.55.0.1082.g2b9226bbc0-goog


Reply via email to