On Mon, 13 Jul 2020 23:39:18 +0000 guoren@xxxxxxxxxx wrote: > From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> > > The "Changing Execution Path" section in the Documentation/kprobes.txt > said: > > Since kprobes can probe into a running kernel code, it can change the > register set, including instruction pointer. > Looks Good to me:) Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx> Thank you! > Signed-off-by: Guo Ren <guoren@xxxxxxxxxxxxxxxxx> > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Cc: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> > --- > arch/riscv/kernel/mcount-dyn.S | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/kernel/mcount-dyn.S b/arch/riscv/kernel/mcount-dyn.S > index 35a6ed7..4b58b54 100644 > --- a/arch/riscv/kernel/mcount-dyn.S > +++ b/arch/riscv/kernel/mcount-dyn.S > @@ -123,6 +123,7 @@ ENDPROC(ftrace_caller) > sd ra, (PT_SIZE_ON_STACK+8)(sp) > addi s0, sp, (PT_SIZE_ON_STACK+16) > > + sd ra, PT_EPC(sp) > sd x1, PT_RA(sp) > sd x2, PT_SP(sp) > sd x3, PT_GP(sp) > @@ -157,6 +158,7 @@ ENDPROC(ftrace_caller) > .endm > > .macro RESTORE_ALL > + ld ra, PT_EPC(sp) > ld x1, PT_RA(sp) > ld x2, PT_SP(sp) > ld x3, PT_GP(sp) > @@ -190,7 +192,6 @@ ENDPROC(ftrace_caller) > ld x31, PT_T6(sp) > > ld s0, (PT_SIZE_ON_STACK)(sp) > - ld ra, (PT_SIZE_ON_STACK+8)(sp) > addi sp, sp, (PT_SIZE_ON_STACK+16) > .endm > > -- > 2.7.4 > -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>