On Thu, Jun 11, 2026 at 08:14:27AM +0200, Nam Cao wrote: > Charlie Jenkins via B4 Relay > <[email protected]> writes: > > bool __kprobes simulate_c_jr(u32 opcode, unsigned long addr, struct > > pt_regs *regs) > > { > > - return simulate_c_jr_jalr(opcode, addr, regs, false); > > + unsigned long next_addr; > > + unsigned long *regs_ptr = (unsigned long *)regs; > > + > > + next_addr = regs_ptr[riscv_insn_c_jr_extract_xs1(opcode)]; > > + instruction_pointer_set(regs, next_addr); > > + > > + regs->ra = addr + 2; > > c.jr does not change ra.
Looks like my tests need some work :/ > > > + return true; > > } > > We have CONFIG_RISCV_KPROBES_KUNIT now, please try that. I can try to extend those to cover more. - Charlie > > Nam

