On Fri, 18 Oct 2019 16:30:27 -0000 "tip-bot2 for Jiri Slaby" <tip-bot2@xxxxxxxxxxxxx> wrote: > The following commit has been merged into the x86/asm branch of tip: > > Commit-ID: f13ad88a984e8090226a8f62d75e87b770eefdf4 > Gitweb: https://git.kernel.org/tip/f13ad88a984e8090226a8f62d75e87b770eefdf4 > Author: Jiri Slaby <jslaby@xxxxxxx> > AuthorDate: Fri, 11 Oct 2019 13:51:01 +02:00 > Committer: Borislav Petkov <bp@xxxxxxx> > CommitterDate: Fri, 18 Oct 2019 11:35:41 +02:00 I just noticed this (sorry missed the original patch). > > x86/asm/ftrace: Mark function_hook as function > > Relabel function_hook to be marked really as a function. It is called > from C and has the same expectations towards the stack etc. This is wrong, function_hook is never called from C. It's called via fentry (use to be mcount), and does not have the same semantics as a C function. In fact, that's why it exists in assembly. Because it has to save and restore registers to make it possible to call a C function! -- Steve > > Signed-off-by: Jiri Slaby <jslaby@xxxxxxx> > Signed-off-by: Borislav Petkov <bp@xxxxxxx> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> > Cc: linux-arch@xxxxxxxxxxxxxxx > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: x86-ml <x86@xxxxxxxxxx> > Link: https://lkml.kernel.org/r/20191011115108.12392-22-jslaby@xxxxxxx > --- > arch/x86/kernel/ftrace_32.S | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S > index e0061dc..219be13 100644 > --- a/arch/x86/kernel/ftrace_32.S > +++ b/arch/x86/kernel/ftrace_32.S > @@ -21,9 +21,9 @@ EXPORT_SYMBOL(__fentry__) > # define MCOUNT_FRAME 0 /* using frame = false */ > #endif > > -ENTRY(function_hook) > +SYM_FUNC_START(function_hook) > ret > -END(function_hook) > +SYM_FUNC_END(function_hook) > > ENTRY(ftrace_caller) >