[PATCH] ftrace/fgraph: fix increased missing-prototypes warnings

Chengming Zhou posted 1 patch 4 years ago
kernel/trace/fgraph.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Chengming Zhou 4 years ago
After commit e999995c84c3 ("ftrace: cleanup ftrace_graph_caller enable
and disable") merged into the linux-next tree, the kernel test robot
(lkp@intel.com) has send out report that there are increased missing-prototypes
warnings caused by that commit.

COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 \
	O=build_dir ARCH=sh SHELL=/bin/bash kernel/trace/
warning: no previous prototype for 'ftrace_enable_ftrace_graph_caller' [-Wmissing-prototypes]
warning: no previous prototype for 'ftrace_disable_ftrace_graph_caller' [-Wmissing-prototypes]
warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes]
warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes]

BTW there are so many missing-prototypes warnings if build kernel with "W=1".

The increased warnings for 'ftrace_[enable,disable]_ftrace_graph_caller'
is caused by CONFIG_FUNCTION_GRAPH_TRACER && !CONFIG_DYNAMIC_FTRACE,
so the declarations in <linux/ftrace.h> can't be seen in fgraph.c.

And this warning can't reproduce on x86_64 since x86_64 select
HAVE_FUNCTION_GRAPH_TRACER only when DYNAMIC_FTRACE, so fgraph.c will
always see the declarations in <linux/ftrace.h>.

This patch fix the increased warnings by put the definitions in
CONFIG_DYNAMIC_FTRACE although there are no real problems exist.

Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
---
 kernel/trace/fgraph.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index 289311680c29..2cd374294be7 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -30,6 +30,7 @@ int ftrace_graph_active;
 /* Both enabled by default (can be cleared by function_graph tracer flags */
 static bool fgraph_sleep_time = true;
 
+#ifdef CONFIG_DYNAMIC_FTRACE
 /*
  * archs can override this function if they must do something
  * to enable hook for graph tracer.
@@ -47,6 +48,7 @@ int __weak ftrace_disable_ftrace_graph_caller(void)
 {
 	return 0;
 }
+#endif
 
 /**
  * ftrace_graph_stop - set to permanently disable function graph tracing
-- 
2.36.0
Re: [PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Catalin Marinas 3 years, 11 months ago
On Fri, 6 May 2022 11:27:37 +0800, Chengming Zhou wrote:
> After commit e999995c84c3 ("ftrace: cleanup ftrace_graph_caller enable
> and disable") merged into the linux-next tree, the kernel test robot
> (lkp@intel.com) has send out report that there are increased missing-prototypes
> warnings caused by that commit.
> 
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 \
> 	O=build_dir ARCH=sh SHELL=/bin/bash kernel/trace/
> warning: no previous prototype for 'ftrace_enable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_disable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes]
> 
> [...]

Applied to arm64 (for-next/core), thanks!

[1/1] ftrace/fgraph: fix increased missing-prototypes warnings
      https://git.kernel.org/arm64/c/ff979b2a9d97

-- 
Catalin
Re: [PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Steven Rostedt 3 years, 11 months ago
The change this fixes was merged into the ARM tree and I do not have that
code, so I can not apply this.

-- Steve


On Fri,  6 May 2022 11:27:37 +0800
Chengming Zhou <zhouchengming@bytedance.com> wrote:

> After commit e999995c84c3 ("ftrace: cleanup ftrace_graph_caller enable
> and disable") merged into the linux-next tree, the kernel test robot
> (lkp@intel.com) has send out report that there are increased missing-prototypes
> warnings caused by that commit.
> 
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 \
> 	O=build_dir ARCH=sh SHELL=/bin/bash kernel/trace/
> warning: no previous prototype for 'ftrace_enable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_disable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes]
> 
> BTW there are so many missing-prototypes warnings if build kernel with "W=1".
> 
> The increased warnings for 'ftrace_[enable,disable]_ftrace_graph_caller'
> is caused by CONFIG_FUNCTION_GRAPH_TRACER && !CONFIG_DYNAMIC_FTRACE,
> so the declarations in <linux/ftrace.h> can't be seen in fgraph.c.
> 
> And this warning can't reproduce on x86_64 since x86_64 select
> HAVE_FUNCTION_GRAPH_TRACER only when DYNAMIC_FTRACE, so fgraph.c will
> always see the declarations in <linux/ftrace.h>.
> 
> This patch fix the increased warnings by put the definitions in
> CONFIG_DYNAMIC_FTRACE although there are no real problems exist.
> 
> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
> ---
>  kernel/trace/fgraph.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
> index 289311680c29..2cd374294be7 100644
> --- a/kernel/trace/fgraph.c
> +++ b/kernel/trace/fgraph.c
> @@ -30,6 +30,7 @@ int ftrace_graph_active;
>  /* Both enabled by default (can be cleared by function_graph tracer flags */
>  static bool fgraph_sleep_time = true;
>  
> +#ifdef CONFIG_DYNAMIC_FTRACE
>  /*
>   * archs can override this function if they must do something
>   * to enable hook for graph tracer.
> @@ -47,6 +48,7 @@ int __weak ftrace_disable_ftrace_graph_caller(void)
>  {
>  	return 0;
>  }
> +#endif
>  
>  /**
>   * ftrace_graph_stop - set to permanently disable function graph tracing
Re: [PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Catalin Marinas 3 years, 11 months ago
On Tue, May 24, 2022 at 07:17:18PM -0400, Steven Rostedt wrote:
> On Fri,  6 May 2022 11:27:37 +0800
> Chengming Zhou <zhouchengming@bytedance.com> wrote:
> 
> > After commit e999995c84c3 ("ftrace: cleanup ftrace_graph_caller enable
> > and disable") merged into the linux-next tree, the kernel test robot
> > (lkp@intel.com) has send out report that there are increased missing-prototypes
> > warnings caused by that commit.
> > 
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 \
> > 	O=build_dir ARCH=sh SHELL=/bin/bash kernel/trace/
> > warning: no previous prototype for 'ftrace_enable_ftrace_graph_caller' [-Wmissing-prototypes]
> > warning: no previous prototype for 'ftrace_disable_ftrace_graph_caller' [-Wmissing-prototypes]
> > warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes]
> > warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes]
> > 
> > BTW there are so many missing-prototypes warnings if build kernel with "W=1".
> > 
> > The increased warnings for 'ftrace_[enable,disable]_ftrace_graph_caller'
> > is caused by CONFIG_FUNCTION_GRAPH_TRACER && !CONFIG_DYNAMIC_FTRACE,
> > so the declarations in <linux/ftrace.h> can't be seen in fgraph.c.
> > 
> > And this warning can't reproduce on x86_64 since x86_64 select
> > HAVE_FUNCTION_GRAPH_TRACER only when DYNAMIC_FTRACE, so fgraph.c will
> > always see the declarations in <linux/ftrace.h>.
> > 
> > This patch fix the increased warnings by put the definitions in
> > CONFIG_DYNAMIC_FTRACE although there are no real problems exist.
> > 
> > Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
> 
> The change this fixes was merged into the ARM tree and I do not have that
> code, so I can not apply this.

Ah, I missed this patch. The commit mentioned is in mainline now but I'm
happy to add it to the arm64 tree and send before -rc1.

-- 
Catalin
Re: [PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Steven Rostedt 3 years, 11 months ago
On Wed, 25 May 2022 09:31:36 +0100
Catalin Marinas <catalin.marinas@arm.com> wrote:

> > The change this fixes was merged into the ARM tree and I do not have that
> > code, so I can not apply this.  
> 
> Ah, I missed this patch. The commit mentioned is in mainline now but I'm
> happy to add it to the arm64 tree and send before -rc1.

Please do, thanks.

Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- Steve
Re: [PATCH] ftrace/fgraph: fix increased missing-prototypes warnings
Posted by Chengming Zhou 4 years ago
On 2022/5/6 11:27, Chengming Zhou wrote:
> After commit e999995c84c3 ("ftrace: cleanup ftrace_graph_caller enable
> and disable") merged into the linux-next tree, the kernel test robot
> (lkp@intel.com) has send out report that there are increased missing-prototypes
> warnings caused by that commit.
> 
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 \
> 	O=build_dir ARCH=sh SHELL=/bin/bash kernel/trace/
> warning: no previous prototype for 'ftrace_enable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_disable_ftrace_graph_caller' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_return_to_handler' [-Wmissing-prototypes]
> warning: no previous prototype for 'ftrace_graph_sleep_time_control' [-Wmissing-prototypes]
> 
> BTW there are so many missing-prototypes warnings if build kernel with "W=1".
> 
> The increased warnings for 'ftrace_[enable,disable]_ftrace_graph_caller'
> is caused by CONFIG_FUNCTION_GRAPH_TRACER && !CONFIG_DYNAMIC_FTRACE,
> so the declarations in <linux/ftrace.h> can't be seen in fgraph.c.
> 
> And this warning can't reproduce on x86_64 since x86_64 select
> HAVE_FUNCTION_GRAPH_TRACER only when DYNAMIC_FTRACE, so fgraph.c will
> always see the declarations in <linux/ftrace.h>.
> 
> This patch fix the increased warnings by put the definitions in
> CONFIG_DYNAMIC_FTRACE although there are no real problems exist.
> 

Sorry, forget to add:
Reported-by: kernel test robot <lkp@intel.com>

> Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
> ---
>  kernel/trace/fgraph.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
> index 289311680c29..2cd374294be7 100644
> --- a/kernel/trace/fgraph.c
> +++ b/kernel/trace/fgraph.c
> @@ -30,6 +30,7 @@ int ftrace_graph_active;
>  /* Both enabled by default (can be cleared by function_graph tracer flags */
>  static bool fgraph_sleep_time = true;
>  
> +#ifdef CONFIG_DYNAMIC_FTRACE
>  /*
>   * archs can override this function if they must do something
>   * to enable hook for graph tracer.
> @@ -47,6 +48,7 @@ int __weak ftrace_disable_ftrace_graph_caller(void)
>  {
>  	return 0;
>  }
> +#endif
>  
>  /**
>   * ftrace_graph_stop - set to permanently disable function graph tracing