[GIT PULL] KVM/arm64 fixes for 5.18, take #1

Marc Zyngier
2022-04-08T15:08:01Z

Hi Paolo,

Here's the first batches of fixes for 5.18 (most of it courtesy of
Oliver). The two important items here are a MMU rwlock fix when
splitting block mappings, and a debugfs registration issue resulting
in a potentially spectacular outcome.

Please pull,

M.

The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:

Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-fixes-5.18-1

for you to fetch changes up to 21db83846683d3987666505a3ec38f367708199a:

selftests: KVM: Free the GIC FD when cleaning up in arch_timer (2022-04-07 08:46:13 +0100)

----------------------------------------------------------------
KVM/arm64 fixes for 5.18, take #1

- Some PSCI fixes after introducing PSCIv1.1 and SYSTEM_RESET2

- Fix the MMU write-lock not being taken on THP split

- Fix mixed-width VM handling

- Fix potential UAF when debugfs registration fails

- Various selftest updates for all of the above

----------------------------------------------------------------
Andrew Jones (1):
KVM: selftests: get-reg-list: Add KVM_REG_ARM_FW_REG(3)

Oliver Upton (7):
KVM: arm64: Generally disallow SMC64 for AArch32 guests
KVM: arm64: Actually prevent SMC64 SYSTEM_RESET2 from AArch32
KVM: arm64: Drop unneeded minor version check from PSCI v1.x handler
KVM: arm64: Don't split hugepages outside of MMU write lock
KVM: Don't create VM debugfs files outside of the VM directory
selftests: KVM: Don't leak GIC FD across dirty log test iterations
selftests: KVM: Free the GIC FD when cleaning up in arch_timer

Reiji Watanabe (2):
KVM: arm64: mixed-width check should be skipped for uninitialized vCPUs
KVM: arm64: selftests: Introduce vcpu_width_config

Yu Zhe (1):
KVM: arm64: vgic: Remove unnecessary type castings

arch/arm64/include/asm/kvm_emulate.h | 27 +++--
arch/arm64/include/asm/kvm_host.h | 10 ++
arch/arm64/kvm/mmu.c | 11 +-
arch/arm64/kvm/psci.c | 31 +++---
arch/arm64/kvm/reset.c | 65 +++++++----
arch/arm64/kvm/vgic/vgic-debug.c | 10 +-
arch/arm64/kvm/vgic/vgic-its.c | 2 +-
tools/testing/selftests/kvm/.gitignore | 1 +
tools/testing/selftests/kvm/Makefile | 1 +
tools/testing/selftests/kvm/aarch64/arch_timer.c | 15 ++-
tools/testing/selftests/kvm/aarch64/get-reg-list.c | 14 ++-
.../selftests/kvm/aarch64/vcpu_width_config.c | 122 +++++++++++++++++++++
tools/testing/selftests/kvm/dirty_log_perf_test.c | 34 +++++-
virt/kvm/kvm_main.c | 10 +-
14 files changed, 285 insertions(+), 68 deletions(-)
create mode 100644 tools/testing/selftests/kvm/aarch64/vcpu_width_config.c