]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D)
authorSean Christopherson <seanjc@google.com>
Sat, 23 Apr 2022 03:47:41 +0000 (03:47 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 3 May 2022 11:22:31 +0000 (07:22 -0400)
commit706c9c55e5a32800605eb6a864ef6e1ca0c6c179
tree92e3fdad361f2eb97c0fe60197738b3f2be02f91
parent44187235cbcc7c1129ea7c004bc12f8757d29415
KVM: x86/mmu: Don't treat fully writable SPTEs as volatile (modulo A/D)

Don't treat SPTEs that are truly writable, i.e. writable in hardware, as
being volatile (unless they're volatile for other reasons, e.g. A/D bits).
KVM _sets_ the WRITABLE bit out of mmu_lock, but never _clears_ the bit
out of mmu_lock, so if the WRITABLE bit is set, it cannot magically get
cleared just because the SPTE is MMU-writable.

Rename the wrapper of MMU-writable to be more literal, the previous name
of spte_can_locklessly_be_made_writable() is wrong and misleading.

Fixes: c7ba5b48cc8d ("KVM: MMU: fast path of handling guest page fault")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20220423034752.1161007-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/mmu.c
arch/x86/kvm/mmu/spte.h