On Fri, 18 Oct 2019 16:30:27 -0000
"tip-bot2 for Jiri Slaby" <[email protected]> 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 <[email protected]>
> AuthorDate:    Fri, 11 Oct 2019 13:51:01 +02:00
> Committer:     Borislav Petkov <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Borislav Petkov <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Josh Poimboeuf <[email protected]>
> Cc: [email protected]
> Cc: Masami Hiramatsu <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: "Steven Rostedt (VMware)" <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: x86-ml <[email protected]>
> Link: https://lkml.kernel.org/r/[email protected]
> ---
>  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)
>  

Reply via email to