Commit 7c554d8e authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

KVM: x86/mmu: only perform eager page splitting on valid roots



Eager page splitting is an optimization; it does not have to be performed on
invalid roots.  It is also the only case in which a reader might acquire
a reference to an invalid root, so after this change we know that readers
will skip both dying and invalid roots.

Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 226b8c8f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1464,7 +1464,7 @@ void kvm_tdp_mmu_try_split_huge_pages(struct kvm *kvm,

	kvm_lockdep_assert_mmu_lock_held(kvm, shared);

	for_each_tdp_mmu_root_yield_safe(kvm, root, slot->as_id, shared) {
	for_each_valid_tdp_mmu_root_yield_safe(kvm, root, slot->as_id, shared) {
		r = tdp_mmu_split_huge_pages_root(kvm, root, start, end, target_level, shared);
		if (r) {
			kvm_tdp_mmu_put_root(kvm, root, shared);