]> git.ipfire.org Git - thirdparty/kernel/stable.git/blobdiff - virt/kvm/kvm_main.c
Merge tag 'kvm-x86-generic-6.9' of https://github.com/kvm-x86/linux into HEAD
[thirdparty/kernel/stable.git] / virt / kvm / kvm_main.c
index 80167115031420fd9279eaa81be5dad37e613dbe..741d86ca06a1fbe47e79d179d65a14e06dc36e86 100644 (file)
@@ -421,7 +421,7 @@ int __kvm_mmu_topup_memory_cache(struct kvm_mmu_memory_cache *mc, int capacity,
                if (WARN_ON_ONCE(!capacity))
                        return -EIO;
 
-               mc->objects = kvmalloc_array(sizeof(void *), capacity, gfp);
+               mc->objects = kvmalloc_array(capacity, sizeof(void *), gfp);
                if (!mc->objects)
                        return -ENOMEM;
 
@@ -890,7 +890,9 @@ static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn,
 
        /* Pairs with the increment in range_start(). */
        spin_lock(&kvm->mn_invalidate_lock);
-       wake = (--kvm->mn_active_invalidate_count == 0);
+       if (!WARN_ON_ONCE(!kvm->mn_active_invalidate_count))
+               --kvm->mn_active_invalidate_count;
+       wake = !kvm->mn_active_invalidate_count;
        spin_unlock(&kvm->mn_invalidate_lock);
 
        /*