Re: [tip: x86/asm] x86/asm/ftrace: Mark function_hook as function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Oct 18, 2019 at 12:49:56PM -0400, Steven Rostedt wrote:
> On Fri, 18 Oct 2019 12:48:00 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> 
> > > Relabel function_hook to be marked really as a function. It is called
> > > from C and has the same expectations towards the stack etc.  
> > 
> 
> And to go even further, it *does not* have the same expectations
> towards the stack.
> 
> I think this patch should not be applied.

There are a couple more markings like that now:

$ git grep function_hook
Documentation/asm-annotations.rst:120:    SYM_FUNC_START(function_hook)
Documentation/asm-annotations.rst:122:    SYM_FUNC_END(function_hook)
arch/x86/kernel/ftrace_32.S:15:# define function_hook   __fentry__
arch/x86/kernel/ftrace_32.S:24:SYM_FUNC_START(function_hook)
arch/x86/kernel/ftrace_32.S:26:SYM_FUNC_END(function_hook)
arch/x86/kernel/ftrace_64.S:17:# define function_hook   __fentry__
arch/x86/kernel/ftrace_64.S:135:SYM_FUNC_START(function_hook)
arch/x86/kernel/ftrace_64.S:137:SYM_FUNC_END(function_hook)
arch/x86/kernel/ftrace_64.S:251:SYM_FUNC_START(function_hook)
arch/x86/kernel/ftrace_64.S:282:SYM_FUNC_END(function_hook)

Frankly, I wouldn't mark this function at all as it is special and I see
a little sense to have it in stack traces but maybe Jiri has another
angle here. I'll let him comment.

I guess with the new nomenclature that can be SYM_CODE_* now...

Then, this magic "function" or a global symbol with an address or
whatever that is (oh, there's #define trickery too) definitely deserves
a comment above it to explain what it is. I even have to build the .s
file to see what it turns into:

.globl __fentry__ ; .p2align 4, 0x90 ; __fentry__:
 retq
.type __fentry__, @function ; .size __fentry__, .-__fentry__

Yeah, it is called on every function entry:

callq  ffffffff81a01760 <__fentry__>

but can we please explain with a comment above it what it is?

Thx.

-- 
Regards/Gruss,
    Boris.

SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer, HRB 36809, AG Nürnberg



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux