6.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Nam Cao <namcaov@xxxxxxxxx> commit 8cb22bec142624d21bc85ff96b7bad10b6220e6a upstream. Instructions can write to x0, so we should simulate these instructions normally. Currently, the kernel hangs if an instruction who writes to x0 is simulated. Fixes: c22b0bcb1dd0 ("riscv: Add kprobes supported") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Nam Cao <namcaov@xxxxxxxxx> Reviewed-by: Charlie Jenkins <charlie@xxxxxxxxxxxx> Acked-by: Guo Ren <guoren@xxxxxxxxxx> Link: https://lore.kernel.org/r/20230829182500.61875-1-namcaov@xxxxxxxxx Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/riscv/kernel/probes/simulate-insn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/riscv/kernel/probes/simulate-insn.c +++ b/arch/riscv/kernel/probes/simulate-insn.c @@ -24,7 +24,7 @@ static inline bool rv_insn_reg_set_val(s unsigned long val) { if (index == 0) - return false; + return true; else if (index <= 31) *((unsigned long *)regs + index) = val; else