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.

> +     return true;
>  }

We have CONFIG_RISCV_KPROBES_KUNIT now, please try that.

Nam

Reply via email to