[PATCH 04/16] riscv: kprobes: Use generated instruction headers
Charlie Jenkins
thecharlesjenkins at gmail.com
Mon Jun 15 23:06:30 PDT 2026
On Thu, Jun 11, 2026 at 08:14:27AM +0200, Nam Cao wrote:
> Charlie Jenkins via B4 Relay
> <devnull+thecharlesjenkins.gmail.com at kernel.org> 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
More information about the linux-riscv
mailing list