Hi Paolo, Here's the first set of fixes for 6.15. The biggest change here is the __get_fault_info() rework where KVM could use stale fault information when handling a stage-2 abort. Rest of the details can be found in the tag. Please pull. Thanks, Oliver The following changes since commit 369c0122682c4468a69f2454614eded71c5348f3: Merge branch 'kvm-arm64/pmu-fixes' into kvmarm/next (2025-03-19 14:54:52 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git/ tags/kvmarm-fixes-6.15-1 for you to fetch changes up to a344e258acb0a7f0e7ed10a795c52d1baf705164: KVM: arm64: Use acquire/release to communicate FF-A version negotiation (2025-04-07 15:03:34 -0700) ---------------------------------------------------------------- KVM/arm64: First batch of fixes for 6.15 - Rework heuristics for resolving the fault IPA (HPFAR_EL2 v. re-walk stage-1 page tables) to align with the architecture. This avoids possibly taking an SEA at EL2 on the page table walk or using an architecturally UNKNOWN fault IPA. - Use acquire/release semantics in the KVM FF-A proxy to avoid reading a stale value for the FF-A version. - Fix KVM guest driver to match PV CPUID hypercall ABI. - Use Inner Shareable Normal Write-Back mappings at stage-1 in KVM selftests, which is the only memory type for which atomic instructions are architecturally guaranteed to work. ---------------------------------------------------------------- Chen Ni (1): smccc: kvm_guest: Remove unneeded semicolon Oliver Upton (4): smccc: kvm_guest: Align with DISCOVER_IMPL_CPUS ABI KVM: arm64: Only read HPFAR_EL2 when value is architecturally valid arm64: Convert HPFAR_EL2 to sysreg table KVM: arm64: Don't translate FAR if invalid/unsafe Raghavendra Rao Ananta (2): KVM: arm64: selftests: Introduce and use hardware-definition macros KVM: arm64: selftests: Explicitly set the page attrs to Inner-Shareable Will Deacon (1): KVM: arm64: Use acquire/release to communicate FF-A version negotiation arch/arm64/include/asm/esr.h | 44 +++++++++++++- arch/arm64/include/asm/kvm_emulate.h | 7 ++- arch/arm64/include/asm/kvm_ras.h | 2 +- arch/arm64/kvm/hyp/include/hyp/fault.h | 70 +++++++++++++++------- arch/arm64/kvm/hyp/nvhe/ffa.c | 9 +-- arch/arm64/kvm/hyp/nvhe/mem_protect.c | 9 ++- arch/arm64/kvm/mmu.c | 31 ++++++---- arch/arm64/tools/sysreg | 7 +++ drivers/firmware/smccc/kvm_guest.c | 4 +- .../testing/selftests/kvm/arm64/page_fault_test.c | 2 +- .../selftests/kvm/include/arm64/processor.h | 67 +++++++++++++++++++-- tools/testing/selftests/kvm/lib/arm64/processor.c | 60 +++++++++++-------- 12 files changed, 234 insertions(+), 78 deletions(-)