[GIT PULL] KVM fixes for Linux 6.10-rc5

From: Paolo Bonzini
Date: Sat Jun 22 2024 - 02:41:44 EST


Linus,

The following changes since commit db574f2f96d0c9a245a9e787e3d9ec288fb2b445:

KVM: x86/mmu: Don't save mmu_invalidate_seq after checking private attr (2024-06-05 06:45:06 -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 e159d63e6940a2a16bb73616d8c528e93b84a6bb:

Merge tag 'kvm-riscv-fixes-6.10-2' of https://github.com/kvm-riscv/linux into HEAD (2024-06-21 12:48:44 -0400)

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

* Fix dangling references to a redistributor region if the vgic was
prematurely destroyed.

* Properly mark FFA buffers as released, ensuring that both parties
can make forward progress.

x86:

* Allow getting/setting MSRs for SEV-ES guests, if they're using the pre-6.9
KVM_SEV_ES_INIT API.

* Always sync pending posted interrupts to the IRR prior to IOAPIC
route updates, so that EOIs are intercepted properly if the old routing
table requested that.

Generic:

* Avoid __fls(0)

* Fix reference leak on hwpoisoned page

* Fix a race in kvm_vcpu_on_spin() by ensuring loads and stores are atomic.

* Fix bug in __kvm_handle_hva_range() where KVM calls a function pointer
that was intended to be a marker only (nothing bad happens but kind of
a mine and also technically undefined behavior)

* Do not bother accounting allocations that are small and freed before
getting back to userspace.

Selftests:

* Fix compilation for RISC-V.

* Fix a "shift too big" goof in the KVM_SEV_INIT2 selftest.

* Compute the max mappable gfn for KVM selftests on x86 using GuestMaxPhyAddr
from KVM's supported CPUID (if it's available).

----------------------------------------------------------------
Alexey Dobriyan (1):
kvm: do not account temporary allocations to kmem

Andrew Jones (1):
KVM: selftests: Fix RISC-V compilation

Babu Moger (1):
KVM: Stop processing *all* memslots when "null" mmu_notifier handler is found

Bibo Mao (1):
KVM: Discard zero mask with function kvm_dirty_ring_reset

Breno Leitao (1):
KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()

Colin Ian King (1):
KVM: selftests: Fix shift of 32 bit unsigned int more than 32 bits

Marc Zyngier (1):
KVM: arm64: Disassociate vcpus from redistributor region on teardown

Michael Roth (1):
KVM: SEV-ES: Fix svm_get_msr()/svm_set_msr() for KVM_SEV_ES_INIT guests

Paolo Bonzini (4):
virt: guest_memfd: fix reference leak on hwpoisoned page
Merge tag 'kvmarm-fixes-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
Merge tag 'kvm-x86-fixes-6.10-rcN' of https://github.com/kvm-x86/linux into HEAD
Merge tag 'kvm-riscv-fixes-6.10-2' of https://github.com/kvm-riscv/linux into HEAD

Sean Christopherson (2):
KVM: x86: Always sync PIR to IRR prior to scanning I/O APIC routes
MAINTAINERS: Drop Wanpeng Li as a Reviewer for KVM Paravirt support

Tao Su (1):
KVM: selftests: x86: Prioritize getting max_gfn from GuestPhysBits

Vincent Donnefort (1):
KVM: arm64: FFA: Release hyp rx buffer

MAINTAINERS | 1 -
arch/arm64/kvm/hyp/nvhe/ffa.c | 12 ++++++++++++
arch/arm64/kvm/vgic/vgic-init.c | 2 +-
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 15 +++++++++++++--
arch/arm64/kvm/vgic/vgic.h | 2 +-
arch/x86/kvm/svm/svm.c | 4 ++--
arch/x86/kvm/x86.c | 9 ++++-----
.../testing/selftests/kvm/include/x86_64/processor.h | 1 +
tools/testing/selftests/kvm/lib/riscv/ucall.c | 1 +
tools/testing/selftests/kvm/lib/x86_64/processor.c | 15 +++++++++++++--
tools/testing/selftests/kvm/riscv/ebreak_test.c | 1 +
tools/testing/selftests/kvm/riscv/sbi_pmu_test.c | 1 +
tools/testing/selftests/kvm/x86_64/sev_init2_tests.c | 4 ++--
virt/kvm/dirty_ring.c | 3 +++
virt/kvm/guest_memfd.c | 5 +++--
virt/kvm/kvm_main.c | 19 ++++++++++---------
16 files changed, 68 insertions(+), 27 deletions(-)