Commit 31c65657 authored by Colin Ian King's avatar Colin Ian King Committed by Paolo Bonzini
Browse files

KVM: x86/mmu: Fix uninitialized boolean variable flush



In the case where kvm_memslots_have_rmaps(kvm) is false the boolean
variable flush is not set and is uninitialized.  If is_tdp_mmu_enabled(kvm)
is true then the call to kvm_tdp_mmu_zap_collapsible_sptes passes the
uninitialized value of flush into the call. Fix this by initializing
flush to false.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: e2209710 ("KVM: x86/mmu: Skip rmap operations if rmaps not allocated")
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
Message-Id: <20210622150912.23429-1-colin.king@canonical.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent e5830fb1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -5689,7 +5689,7 @@ void kvm_mmu_zap_collapsible_sptes(struct kvm *kvm,
{
	/* FIXME: const-ify all uses of struct kvm_memory_slot.  */
	struct kvm_memory_slot *slot = (struct kvm_memory_slot *)memslot;
	bool flush;
	bool flush = false;

	if (kvm_memslots_have_rmaps(kvm)) {
		write_lock(&kvm->mmu_lock);