KVM: x86/mmu: Don't save mmu_invalidate_seq after checking private attr
authorTao Su <tao1.su@linux.intel.com>
Tue, 28 May 2024 10:22:34 +0000 (18:22 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 5 Jun 2024 10:45:06 +0000 (06:45 -0400)
commitdb574f2f96d0c9a245a9e787e3d9ec288fb2b445
tree5f6f89dff093fc0f894d9f4fd8ff5b409a835888
parent45ce0314bf258bd387d92782d5393e7b84b0121f
KVM: x86/mmu: Don't save mmu_invalidate_seq after checking private attr

Drop the second snapshot of mmu_invalidate_seq in kvm_faultin_pfn().
Before checking the mismatch of private vs. shared, mmu_invalidate_seq is
saved to fault->mmu_seq, which can be used to detect an invalidation
related to the gfn occurred, i.e. KVM will not install a mapping in page
table if fault->mmu_seq != mmu_invalidate_seq.

Currently there is a second snapshot of mmu_invalidate_seq, which may not
be same as the first snapshot in kvm_faultin_pfn(), i.e. the gfn attribute
may be changed between the two snapshots, but the gfn may be mapped in
page table without hindrance. Therefore, drop the second snapshot as it
has no obvious benefits.

Fixes: f6adeae81f35 ("KVM: x86/mmu: Handle no-slot faults at the beginning of kvm_faultin_pfn()")
Signed-off-by: Tao Su <tao1.su@linux.intel.com>
Message-ID: <20240528102234.2162763-1-tao1.su@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c