Re: [PATCH] ftrace/samples: Add missing prototype for my_direct_func

From: Steven Rostedt
Date: Mon Nov 01 2021 - 11:31:35 EST


On Mon, 1 Nov 2021 16:20:02 +0100
Jiri Olsa <jolsa@xxxxxxxxxx> wrote:

> There's compilation fail reported kernel test robot for W=1 build:
>
> >> samples/ftrace/ftrace-direct-multi.c:8:6: warning: no previous
> prototype for function 'my_direct_func' [-Wmissing-prototypes]
> void my_direct_func(unsigned long ip)
>
> The inlined assembly is used outside function, so we can't make
> my_direct_func static and pass it as asm input argument.
>
> However my_tramp is already extern so I think there's no problem
> keeping my_direct_func extern as well and just add its prototype.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Fixes: 5fae941b9a6f ("ftrace/samples: Add multi direct interface test module")
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> samples/ftrace/ftrace-direct-multi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/samples/ftrace/ftrace-direct-multi.c b/samples/ftrace/ftrace-direct-multi.c
> index 2a5b1fb7ac14..e0ccf43da0c9 100644
> --- a/samples/ftrace/ftrace-direct-multi.c
> +++ b/samples/ftrace/ftrace-direct-multi.c
> @@ -10,6 +10,7 @@ void my_direct_func(unsigned long ip)
> trace_printk("ip %lx\n", ip);
> }
>
> +extern void my_direct_func(unsigned long ip);
> extern void my_tramp(void *);

Except that I believe that the prototype must come before it is used.

I don't think this will fix the warning.

-- Steve


>
> asm (