[GIT PULL] Final KVM fixes for Linux 6.4

From: Paolo Bonzini
Date: Thu Jun 22 2023 - 15:53:41 EST


Linus,

The following changes since commit f211b45057d8b0264b494f1acebf2e8d7f9432c9:

Merge tag 'kvm-x86-fixes-6.4' of https://github.com/kvm-x86/linux into HEAD (2023-06-03 15:16:58 -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 2623b3dc875a3c92dd0e0775cd19fbaeef0574ca:

Merge tag 'kvmarm-fixes-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD (2023-06-22 15:28:26 -0400)

A few remaining ARM patches, and a race condition fix that has had quite
a few eyes but I only managed to commit today due to some travelling
(commit 2230f9e1171a, "KVM: Avoid illegal stage2 mapping on invalid
memory slot"). The fix is relatively simple once you see it, and it's
been tested and reviewed thoroughly.

Paolo

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

* Correctly save/restore PMUSERNR_EL0 when host userspace is using
PMU counters directly

* Fix GICv2 emulation on GICv3 after the locking rework

* Don't use smp_processor_id() in kvm_pmu_probe_armpmu(), and
document why

Generic:

* Avoid setting page table entries pointing to a deleted memslot if a
host page table entry is changed concurrently with the deletion.

----------------------------------------------------------------
Gavin Shan (1):
KVM: Avoid illegal stage2 mapping on invalid memory slot

Marc Zyngier (1):
KVM: arm64: Restore GICv2-on-GICv3 functionality

Oliver Upton (1):
KVM: arm64: Use raw_smp_processor_id() in kvm_pmu_probe_armpmu()

Paolo Bonzini (1):
Merge tag 'kvmarm-fixes-6.4-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

Reiji Watanabe (2):
KVM: arm64: PMU: Restore the host's PMUSERENR_EL0
KVM: arm64: PMU: Don't overwrite PMUSERENR with vcpu loaded

arch/arm/include/asm/arm_pmuv3.h | 5 +++++
arch/arm64/include/asm/kvm_host.h | 7 +++++++
arch/arm64/kvm/hyp/include/hyp/switch.h | 15 +++++++++++++--
arch/arm64/kvm/hyp/vhe/switch.c | 14 ++++++++++++++
arch/arm64/kvm/pmu-emul.c | 20 +++++++++++++++++++-
arch/arm64/kvm/pmu.c | 27 +++++++++++++++++++++++++++
arch/arm64/kvm/vgic/vgic-init.c | 11 +++++++----
drivers/perf/arm_pmuv3.c | 21 ++++++++++++++++++---
virt/kvm/kvm_main.c | 20 +++++++++++++++++++-
9 files changed, 129 insertions(+), 11 deletions(-)