On Thu, 26 May 2022 09:39:49 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > > If CONFIG_HAVE_FENTRY is defined for x86, define FTRACE_MCOUNT_MAX_OFFSET > > to zero, which will have ftrace ignore all locations that are not at the > > start of the function. > > ^^^ that paragraph is obsolete by your own changes thing below :-) Well, it is partially correct (if X86_KERNEL_IBT is disabled). I'll update the change log to reflect the update. > > > [1] https://lore.kernel.org/all/20220412094923.0abe90955e5db486b7bca279@xxxxxxxxxx/ > > > > Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx> > > --- > > Changes since v1: https://lore.kernel.org/all/20220503150410.2d9e88aa@xxxxxxxxxxxxxxxxxxxx/ > > > > - Changed MAX_OFFSET to 4 on x86 if KERNEL_IBT is enabled > > (Reminded by Peter Zijlstra) > > > > arch/x86/include/asm/ftrace.h | 10 +++++++ > > kernel/trace/ftrace.c | 50 +++++++++++++++++++++++++++++++++-- > > 2 files changed, 58 insertions(+), 2 deletions(-) > > > > diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h > > index 024d9797646e..53675fe2d847 100644 > > --- a/arch/x86/include/asm/ftrace.h > > +++ b/arch/x86/include/asm/ftrace.h > > @@ -9,6 +9,16 @@ > > # define MCOUNT_ADDR ((unsigned long)(__fentry__)) > > #define MCOUNT_INSN_SIZE 5 /* sizeof mcount call */ > > > > +/* Ignore unused weak functions which will have non zero offsets */ > > +#ifdef CONFIG_HAVE_FENTRY > > +# ifdef CONFIG_X86_KERNEL_IBT > > +/* endbr64 is 4 bytes in front of the fentry */ > > +# define FTRACE_MCOUNT_MAX_OFFSET 4 > > +# else > > +# define FTRACE_MCOUNT_MAX_OFFSET 0 > > +# endif > > +#endif > > #define FTRACE_MCOUNT_MAX_OFFSET ENDBR_INSN_SIZE > > Should do the same I think, less lines etc.. Thanks, I figured there was something else I could use besides hard coding it. But I may add that as a separate patch after this gets merged, because my branch doesn't have that code in it yet, so it wont compile. -- Steve