Re: [PATCH v18 01/17] fgraph: Pass ftrace_regs to entryfunc

Masami Hiramatsu
2024-10-31T01:19:01Z

On Mon, 28 Oct 2024 15:25:13 +0000
Will Deacon <will@kernel.org> wrote:

> On Sat, Oct 26, 2024 at 01:35:30PM +0900, Masami Hiramatsu (Google) wrote:
> > From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> >
> > 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@kernel.org>
> > Cc: Steven Rostedt <rostedt@goodmis.org>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc: Catalin Marinas <catalin.marinas@arm.com>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Huacai Chen <chenhuacai@kernel.org>
> > Cc: WANG Xuerui <kernel@xen0n.name>
> > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > Cc: Nicholas Piggin <npiggin@gmail.com>
> > Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> > Cc: Naveen N Rao <naveen@kernel.org>
> > Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
> > Cc: Paul Walmsley <paul.walmsley@sifive.com>
> > Cc: Palmer Dabbelt <palmer@dabbelt.com>
> > Cc: Albert Ou <aou@eecs.berkeley.edu>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: Borislav Petkov <bp@alien8.de>
> > Cc: Dave Hansen <dave.hansen@linux.intel.com>
> > Cc: x86@kernel.org
> > Cc: "H. Peter Anvin" <hpa@zytor.com>
> > Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> >
> > ---
> > 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@kernel.org>
>

Thank you for ack for arm64!

> Will

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>