linux/arch/riscv/kvm
Fangyu Yu 349f101d3f RISC-V: KVM: Fix guest page fault within HLV* instructions
[ Upstream commit 974555d6e4 ]

When executing HLV* instructions at the HS mode, a guest page fault
may occur when a g-stage page table migration between triggering the
virtual instruction exception and executing the HLV* instruction.

This may be a corner case, and one simpler way to handle this is to
re-execute the instruction where the virtual  instruction exception
occurred, and the guest page fault will be automatically handled.

Fixes: b91f0e4cb8 ("RISC-V: KVM: Factor-out instruction emulation into separate sources")
Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20251121133543.46822-1-fangyu.yu@linux.alibaba.com
Signed-off-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-18 13:55:05 +01:00
..
aia.c RISC-V: KVM: Fix csr_write -> csr_set for HVIEN PMU overflow bit 2024-12-27 14:01:57 +01:00
aia_aplic.c RISC-V: KVM: Fix APLIC in_clrip and clripnum write emulation 2024-12-05 14:02:08 +01:00
aia_device.c RISC-V: KVM: Share APLIC and IMSIC defines with irqchip drivers 2024-06-26 18:37:32 +05:30
aia_imsic.c RISCV: KVM: use raw_spinlock for critical section in imsic 2024-10-20 12:10:44 -04:00
Kconfig kvm: replace __KVM_HAVE_READONLY_MEM with Kconfig symbol 2024-02-08 08:41:06 -05:00
main.c KVM: Rename arch hooks related to per-CPU virtualization enabling 2024-09-04 11:02:33 -04:00
Makefile kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
mmu.c KVM: delete .change_pte MMU notifier callback 2024-04-11 13:18:27 -04:00
tlb.c riscv: Rearrange hwcap.h and cpufeature.h 2023-11-09 10:15:51 -08:00
trace.h RISCV: KVM: add tracepoints for entry and exit events 2024-06-26 18:37:36 +05:30
vcpu.c ARM: 2024-07-20 12:41:03 -07:00
vcpu_exit.c RISC-V: KVM: Redirect AMO load/store access fault traps to guest 2024-06-26 18:37:41 +05:30
vcpu_fp.c riscv: Rearrange hwcap.h and cpufeature.h 2023-11-09 10:15:51 -08:00
vcpu_insn.c RISC-V: KVM: Fix guest page fault within HLV* instructions 2025-12-18 13:55:05 +01:00
vcpu_onereg.c RISC-V Patches for the 6.11 Merge Window, Part 1 2024-07-20 09:11:27 -07:00
vcpu_pmu.c RISC-V: KVM: Disable the kernel perf counter during configure 2025-04-10 14:39:11 +02:00
vcpu_sbi.c RISC-V: KVM: lock the correct mp_state during reset 2025-06-19 15:31:53 +02:00
vcpu_sbi_base.c RISC-V: KVM: Add ONE_REG interface to enable/disable SBI extensions 2023-04-21 17:38:44 +05:30
vcpu_sbi_hsm.c riscv: KVM: Fix hart suspend_type use 2025-03-07 18:25:36 +01:00
vcpu_sbi_pmu.c RISC-V: KVM: Improve firmware counter read function 2024-04-26 13:13:54 +05:30
vcpu_sbi_replace.c RISC-V: KVM: Don't treat SBI HFENCE calls as NOPs 2025-06-27 11:11:45 +01:00
vcpu_sbi_sta.c RISC-V: KVM: Rename the SBI_STA_SHMEM_DISABLE to a generic name 2024-04-22 11:13:52 +05:30
vcpu_sbi_v01.c RISC-V: KVM: Modify SBI extension handler to return SBI error code 2023-02-07 20:35:45 +05:30
vcpu_switch.S riscv: kvm: use ".L" local labels in assembly when applicable 2023-12-29 12:31:33 +05:30
vcpu_timer.c RISC-V: KVM: do not EOPNOTSUPP in set KVM_REG_RISCV_TIMER_REG 2023-08-08 17:25:49 +05:30
vcpu_vector.c RISC-V: KVM: fix stack overrun when loading vlenb 2025-09-04 15:31:52 +02:00
vm.c RISC-V: KVM: Implement kvm_arch_vcpu_ioctl_set_guest_debug() 2024-04-08 14:06:27 +05:30
vmid.c RISC-V: KVM: Drop the _MASK suffix from hgatp.VMID mask defines 2023-04-21 17:45:44 +05:30