ftrace: Move toplevel init out of ftrace_init_tracefs()
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Tue, 5 Jul 2016 14:04:34 +0000 (10:04 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 5 Jul 2016 14:47:03 +0000 (10:47 -0400)
commit501c2375253c0795048f48368e0b3e8b2f6646dc
tree8e7ce373ed65d81769a5d18dfa899378c8e917be
parent7fa8b7171a638ad896acabd9a17183b75b70aeb4
ftrace: Move toplevel init out of ftrace_init_tracefs()

Commit 345ddcc882d8 ("ftrace: Have set_ftrace_pid use the bitmap like events
do") placed ftrace_init_tracefs into the instance creation, and encapsulated
the top level updating with an if conditional, as the top level only gets
updated at boot up. Unfortunately, this triggers section mismatch errors as
the init functions are called from a function that can be called later, and
the section mismatch logic is unaware of the if conditional that would
prevent it from happening at run time.

To make everyone happy, create a separate ftrace_init_tracefs_toplevel()
routine that only gets called by init functions, and this will be what calls
other init functions for the toplevel directory.

Link: http://lkml.kernel.org/r/20160704102139.19cbc0d9@gandalf.local.home
Reported-by: kbuild test robot <fengguang.wu@intel.com>
Reported-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 345ddcc882d8 ("ftrace: Have set_ftrace_pid use the bitmap like events do")
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
kernel/trace/ftrace.c
kernel/trace/trace.c
kernel/trace/trace.h