[RFC PATCH -next v2 3/4] arm64/ftrace: support dynamically allocated trampolines

Steven Rostedt rostedt at goodmis.org
Wed May 11 08:12:07 PDT 2022


On Wed, 11 May 2022 23:34:50 +0900
Masami Hiramatsu <mhiramat at kernel.org> wrote:

> OK, so fregs::regs will have a subset of pt_regs, and accessibility of
> the registers depends on the architecture. If we can have a checker like
> 
> ftrace_regs_exist(fregs, reg_offset)

Or something. I'd have to see the use case.

> 
> kprobe on ftrace or fprobe user (BPF) can filter user's requests.
> I think I can introduce a flag for kprobes so that user can make a
> kprobe handler only using a subset of registers. 
> Maybe similar filter code is also needed for BPF 'user space' library
> because this check must be done when compiling BPF.

Is there any other case without full regs that the user would want anything
other than the args, stack pointer and instruction pointer?

That is, have a flag that says "only_args" or something, that says they
will only get the registers for arguments, a stack pointer, and the
instruction pointer (note, the fregs may not have the instruction pointer
as that is passed to the the caller via the "ip" parameter. If the fregs
needs that, we can add a "ftrace_regs_set_ip()" before calling the
callback registered to the fprobe).

-- Steve



More information about the linux-arm-kernel mailing list