Messages in this thread | | | From | Florent Revest <> | Date | Thu, 17 Aug 2023 10:57:40 +0200 | Subject | Re: [PATCH v3 4/8] fprobe: rethook: Use ftrace_regs in fprobe exit handler and rethook |
| |
On Sat, Aug 12, 2023 at 7:37 AM Masami Hiramatsu (Google) <mhiramat@kernel.org> 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.
| |