Re: [PATCH v3 4/8] fprobe: rethook: Use ftrace_regs in fprobe exit handler and rethook

From: Google
Date: Fri Aug 18 2023 - 07:02:30 EST


On Thu, 17 Aug 2023 10:57:40 +0200
Florent Revest <revest@xxxxxxxxxxxx> wrote:

> On Sat, Aug 12, 2023 at 7:37 AM Masami Hiramatsu (Google)
> <mhiramat@xxxxxxxxxx> wrote:
> >
> > diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
> > index 976fd594b446..d56304276318 100644
> > --- a/kernel/trace/Kconfig
> > +++ b/kernel/trace/Kconfig
> > @@ -57,6 +57,13 @@ config HAVE_DYNAMIC_FTRACE_WITH_ARGS
> > This allows for use of ftrace_regs_get_argument() and
> > ftrace_regs_get_stack_pointer().
> >
> > +config HAVE_PT_REGS_TO_FTRACE_REGS_CAST
> > + bool
> > + help
> > + If this is set, the memory layout of the ftrace_regs data structure
> > + is the same as the pt_regs. So the pt_regs is possible to be casted
> > + to ftrace_regs.
>
> What would you think of introducing a:
>
> #ifdef HAVE_PT_REGS_TO_FTRACE_REGS_CAST
> static_assert(sizeof(struct pt_regs) == sizeof(struct ftrace_regs);
> #endif // HAVE_PT_REGS_TO_FTRACE_REGS_CAST
>
> somewhere in ftrace.h just as a small extra safety net ? It doesn't
> exactly guarantee all we want but it should give an early warning of
> mistakes.

That's a good idea :)
OK, I'll add it in the next version.

Thank you,


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>