linux/arch/riscv
Fangyu Yu 1fa7e6e78b 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 14:03:12 +01:00
..
boot riscv: dts: allwinner: d1: fix vlenb property 2025-11-22 09:19:42 +08:00
configs RISC-V updates for the v6.18 merge window (part two) 2025-10-04 10:36:22 -07:00
crypto lib/crypto: riscv/sha512: Migrate optimized SHA-512 code to library 2025-06-30 09:26:19 -07:00
errata riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
include riscv: Update MIPS vendor id to 0x127 2025-11-15 15:27:02 -07:00
kernel riscv: sbi: Prefer SRST shutdown over legacy 2025-11-16 10:37:27 -07:00
kvm RISC-V: KVM: Fix guest page fault within HLV* instructions 2025-12-18 14:03:12 +01:00
lib Crypto library updates for 6.17 2025-07-28 17:58:52 -07:00
mm riscv: ptdump: use seq_puts() in pt_dump_seq_puts() macro 2025-10-27 11:40:43 -06:00
net bpf-next-6.18 2025-09-30 17:58:11 -07:00
purgatory kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI 2025-09-24 14:29:14 -07:00
tools riscv: Stop considering R_RISCV_NONE as bad relocations 2025-07-16 08:13:55 -07:00
Kbuild riscv: migrate to the generic rule for built-in DTB 2025-03-18 13:30:13 +00:00
Kconfig riscv: Fix CONFIG_AS_HAS_INSN for new .insn usage 2025-11-07 17:39:07 -07:00
Kconfig.debug riscv: Add tests for riscv module loading 2023-11-07 14:59:32 -08:00
Kconfig.errata riscv: errata: Fix the PAUSE Opcode for MIPS P8700 2025-09-19 10:33:56 -06:00
Kconfig.socs riscv: Add Kconfig option for ESWIN platforms 2025-09-25 08:29:05 +02:00
Kconfig.vendor riscv: Add xmipsexectl as a vendor extension 2025-09-18 20:36:00 -06:00
Makefile riscv: Remove redundant judgment for the default build target 2025-11-07 17:39:07 -07:00
Makefile.postlink kbuild: Create intermediate vmlinux build with relocations preserved 2025-03-17 00:29:50 +09:00