[GIT PULL] KVM fixes for Linux 5.18-rc5 (or -rc6)

From: Paolo Bonzini
Date: Sun May 01 2022 - 13:36:18 EST


Linus,

The following changes since commit e852be8b148e117e25be1c98cf72ee489b05919e:

kvm: selftests: introduce and use more page size-related constants (2022-04-21 15:41:01 -0400)

are available in the Git repository at:

https://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus

for you to fetch changes up to f751d8eac17692905cdd6935f72d523d8adf3b65:

KVM: x86: work around QEMU issue with synthetic CPUID leaves (2022-04-29 15:24:58 -0400)

----------------------------------------------------------------
ARM:

* Take care of faults occuring between the PARange and
IPA range by injecting an exception

* Fix S2 faults taken from a host EL0 in protected mode

* Work around Oops caused by a PMU access from a 32bit
guest when PMU has been created. This is a temporary
bodge until we fix it for good.

x86:

* Fix potential races when walking host page table

* Fix shadow page table leak when KVM runs nested

* Work around bug in userspace when KVM synthesizes leaf
0x80000021 on older (pre-EPYC) or Intel processors

Generic (but affects only RISC-V):

* Fix bad user ABI for KVM_EXIT_SYSTEM_EVENT

----------------------------------------------------------------
Alexandru Elisei (1):
KVM/arm64: Don't emulate a PMU for 32-bit guests if feature not set

Marc Zyngier (1):
KVM: arm64: Inject exception on out-of-IPA-range translation fault

Mingwei Zhang (1):
KVM: x86/mmu: fix potential races when walking host page table

Paolo Bonzini (4):
Merge tag 'kvmarm-fixes-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
KVM: fix bad user ABI for KVM_EXIT_SYSTEM_EVENT
Merge branch 'kvm-fixes-for-5.18-rc5' into HEAD
KVM: x86: work around QEMU issue with synthetic CPUID leaves

Sean Christopherson (2):
KVM: x86/mmu: Do not create SPTEs for GFNs that exceed host.MAXPHYADDR
Revert "x86/mm: Introduce lookup_address_in_mm()"

Will Deacon (1):
KVM: arm64: Handle host stage-2 faults from 32-bit EL0

Documentation/virt/kvm/api.rst | 24 ++++++++++-----
arch/arm64/include/asm/kvm_emulate.h | 1 +
arch/arm64/kvm/hyp/nvhe/host.S | 18 ++++++------
arch/arm64/kvm/inject_fault.c | 28 ++++++++++++++++++
arch/arm64/kvm/mmu.c | 19 ++++++++++++
arch/arm64/kvm/pmu-emul.c | 23 ++++++++++++++-
arch/arm64/kvm/psci.c | 3 +-
arch/riscv/kvm/vcpu_sbi.c | 5 ++--
arch/x86/include/asm/pgtable_types.h | 4 ---
arch/x86/kvm/cpuid.c | 19 ++++++++----
arch/x86/kvm/mmu.h | 24 +++++++++++++++
arch/x86/kvm/mmu/mmu.c | 57 +++++++++++++++++++++++++++++++-----
arch/x86/kvm/mmu/spte.h | 6 ----
arch/x86/kvm/mmu/tdp_mmu.c | 15 +++++-----
arch/x86/kvm/x86.c | 8 ++++-
arch/x86/mm/pat/set_memory.c | 11 -------
include/uapi/linux/kvm.h | 10 ++++++-
virt/kvm/kvm_main.c | 1 +
18 files changed, 214 insertions(+), 62 deletions(-)