[PATCH 0/6] KVM: x86: Apply NX mitigation more precisely

From: Sean Christopherson
Date: Fri Apr 08 2022 - 20:38:58 EST


This is just the kernel (NX) side of Mingwei's series "Verify dirty
logging works properly with page stats". Relatively to v3 of Mingwei's
series[*], this fixes accounting (and tracking in the nonpaging case)
of disallowed NX huge pages.

I left off the selftests because I disagree with the "Dump stats" change,
and this has snowballed enough.

https://lore.kernel.org/all/20220401063636.2414200-1-mizhang@xxxxxxxxxx

Mingwei Zhang (1):
KVM: x86/mmu: explicitly check nx_hugepage in
disallowed_hugepage_adjust()

Sean Christopherson (5):
KVM: x86/mmu: Tag disallowed NX huge pages even if they're not tracked
KVM: x86/mmu: Properly account NX huge page workaround for nonpaging
MMUs
KVM: x86/mmu: Set disallowed_nx_huge_page in TDP MMU before setting
SPTE
KVM: x86/mmu: Track the number of TDP MMU pages, but not the actual
pages
KVM: x86/mmu: Add helper to convert SPTE value to its shadow page

arch/x86/include/asm/kvm_host.h | 17 ++----
arch/x86/kvm/mmu.h | 9 +++
arch/x86/kvm/mmu/mmu.c | 104 ++++++++++++++++++++++----------
arch/x86/kvm/mmu/mmu_internal.h | 33 +++++-----
arch/x86/kvm/mmu/paging_tmpl.h | 6 +-
arch/x86/kvm/mmu/spte.c | 11 ++++
arch/x86/kvm/mmu/spte.h | 17 ++++++
arch/x86/kvm/mmu/tdp_mmu.c | 49 +++++++++------
arch/x86/kvm/mmu/tdp_mmu.h | 2 +
9 files changed, 167 insertions(+), 81 deletions(-)


base-commit: 6521e072010d10380eca3d8a2203990e61e16ae0
--
2.35.1.1178.g4f1659d476-goog