[GIT PULL] KVM: x86: MMU changes for 6.8

From: Sean Christopherson
Date: Thu Jan 04 2024 - 14:34:54 EST


Two minor fixes from David, plus your series to clean up the "bool shared" mess.

The following changes since commit e9e60c82fe391d04db55a91c733df4a017c28b2f:

selftests/kvm: fix compilation on non-x86_64 platforms (2023-11-21 11:58:25 -0500)

are available in the Git repository at:

https://github.com/kvm-x86/linux.git tags/kvm-x86-mmu-6.8

for you to fetch changes up to e59f75de4e501e87de7743fec29dd247a6ae6cd3:

KVM: x86/mmu: fix comment about mmu_unsync_pages_lock (2023-12-01 07:52:09 -0800)

----------------------------------------------------------------
KVM x86 MMU changes for 6.8:

- Fix a relatively benign off-by-one error when splitting huge pages during
CLEAR_DIRTY_LOG.

- Fix a bug where KVM could incorrectly test-and-clear dirty bits in non-leaf
TDP MMU SPTEs if a racing thread replaces a huge SPTE with a non-huge SPTE.

- Relax the TDP MMU's lockdep assertions related to holding mmu_lock for read
versus write so that KVM doesn't pass "bool shared" all over the place just
to have precise assertions in paths that don't actually care about whether
the caller is a reader or a writer.

----------------------------------------------------------------
David Matlack (2):
KVM: x86/mmu: Fix off-by-1 when splitting huge pages during CLEAR
KVM: x86/mmu: Check for leaf SPTE when clearing dirty bit in the TDP MMU

Paolo Bonzini (4):
KVM: x86/mmu: remove unnecessary "bool shared" argument from functions
KVM: x86/mmu: remove unnecessary "bool shared" argument from iterators
KVM: x86/mmu: always take tdp_mmu_pages_lock
KVM: x86/mmu: fix comment about mmu_unsync_pages_lock

Documentation/virt/kvm/locking.rst | 7 ++-
arch/x86/include/asm/kvm_host.h | 11 +++--
arch/x86/kvm/mmu/mmu.c | 8 ++--
arch/x86/kvm/mmu/tdp_mmu.c | 95 +++++++++++++++++---------------------
arch/x86/kvm/mmu/tdp_mmu.h | 3 +-
5 files changed, 57 insertions(+), 67 deletions(-)