On Mon, 28 Oct 2024 15:25:13 +0000 Will Deacon <will@xxxxxxxxxx> wrote: > On Sat, Oct 26, 2024 at 01:35:30PM +0900, Masami Hiramatsu (Google) wrote: > > From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> > > > > Pass ftrace_regs to the fgraph_ops::entryfunc(). If ftrace_regs is not > > available, it passes a NULL instead. User callback function can access > > some registers (including return address) via this ftrace_regs. > > > > Note that the ftrace_regs can be NULL when the arch does NOT define: > > HAVE_DYNAMIC_FTRACE_WITH_ARGS or HAVE_DYNAMIC_FTRACE_WITH_REGS. > > More specifically, if HAVE_DYNAMIC_FTRACE_WITH_REGS is defined but > > not the HAVE_DYNAMIC_FTRACE_WITH_ARGS, and the ftrace ops used to > > register the function callback does not set FTRACE_OPS_FL_SAVE_REGS. > > In this case, ftrace_regs can be NULL in user callback. > > > > Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> > > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > > Cc: Mark Rutland <mark.rutland@xxxxxxx> > > Cc: Catalin Marinas <catalin.marinas@xxxxxxx> > > Cc: Will Deacon <will@xxxxxxxxxx> > > Cc: Huacai Chen <chenhuacai@xxxxxxxxxx> > > Cc: WANG Xuerui <kernel@xxxxxxxxxx> > > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > > Cc: Nicholas Piggin <npiggin@xxxxxxxxx> > > Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx> > > Cc: Naveen N Rao <naveen@xxxxxxxxxx> > > Cc: Madhavan Srinivasan <maddy@xxxxxxxxxxxxx> > > Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx> > > Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx> > > Cc: Albert Ou <aou@xxxxxxxxxxxxxxxxx> > > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > > Cc: Borislav Petkov <bp@xxxxxxxxx> > > Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > > Cc: x86@xxxxxxxxxx > > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > > Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> > > > > --- > > Changes in v18: > > - Remove unclear comment about `regs->fp` access on arm64. > > Changes in v16: > > - Add a note when the ftrace_regs can be NULL. > > - Update against for the latest kernel. > > Changes in v11: > > - Update for the latest for-next branch. > > Changes in v8: > > - Just pass ftrace_regs to the handler instead of adding a new > > entryregfunc. > > - Update riscv ftrace_graph_func(). > > Changes in v3: > > - Update for new multiple fgraph. > > --- > > arch/arm64/kernel/ftrace.c | 15 ++++++++- > > For the arm64 bits: > > Acked-by: Will Deacon <will@xxxxxxxxxx> > Thank you for ack for arm64! > Will -- Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>