]> git.baikalelectronics.ru Git - kernel.git/commit
tracing/samples: Fix creation and deletion of simple_thread_fn creation
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 17 Oct 2017 18:55:24 +0000 (14:55 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 17 Oct 2017 18:55:24 +0000 (14:55 -0400)
commit30419980df7651fb3fd85a59db5969ac1e409aad
treeb6404781ed926174017f99758ad84d57a1b19606
parent3a6a789464f95a5aed4492f87f3ae9bd6b616c93
tracing/samples: Fix creation and deletion of simple_thread_fn creation

Commit a3ad81793 ("tracing: Add samples of DECLARE_EVENT_CLASS() and
DEFINE_EVENT()") added template examples for all the events. It created a
DEFINE_EVENT_FN() example which reused the foo_bar_reg and foo_bar_unreg
functions.

Enabling both the TRACE_EVENT_FN() and DEFINE_EVENT_FN() example trace
events caused the foo_bar_reg to be called twice, creating the test thread
twice. The foo_bar_unreg would remove it only once, even if it was called
multiple times, leaving a thread existing when the module is unloaded,
causing an oops.

Add a ref count and allow foo_bar_reg() and foo_bar_unreg() be called by
multiple trace events.

Cc: stable@vger.kernel.org
Fixes: a3ad81793 ("tracing: Add samples of DECLARE_EVENT_CLASS() and DEFINE_EVENT()")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
samples/trace_events/trace-events-sample.c