Re: [PATCH v18 01/17] fgraph: Pass ftrace_regs to entryfunc
From: Google
Date: Wed Oct 30 2024 - 21:19:11 EST
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>