Re: [PATCH v18 06/17] tracing: Add ftrace_partial_regs() for converting ftrace_regs to pt_regs

Will Deacon
2024-10-28T15:27:09Z

On Sat, Oct 26, 2024 at 01:36:39PM +0900, Masami Hiramatsu (Google) wrote:
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
>
> Add ftrace_partial_regs() which converts the ftrace_regs to pt_regs.
> This is for the eBPF which needs this to keep the same pt_regs interface
> to access registers.
> Thus when replacing the pt_regs with ftrace_regs in fprobes (which is
> used by kprobe_multi eBPF event), this will be used.
>
> If the architecture defines its own ftrace_regs, this copies partial
> registers to pt_regs and returns it. If not, ftrace_regs is the same as
> pt_regs and ftrace_partial_regs() will return ftrace_regs::regs.
>
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> Acked-by: Florent Revest <revest@chromium.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: Paul Walmsley <paul.walmsley@sifive.com>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Albert Ou <aou@eecs.berkeley.edu>
>
> ---
> Changes in v18:
> - Fix to use sizeof() for calculating array size.
> Changes in v14:
> - Add riscv change.
> Changes in v8:
> - Add the reason why this required in changelog.
> Changes from previous series: NOTHING, just forward ported.
> ---
> arch/arm64/include/asm/ftrace.h | 13 +++++++++++++

For the arm64 bits:

Acked-by: Will Deacon <will@kernel.org>

Will