diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2009-06-20 06:52:21 +0200 |
---|---|---|
committer | Frederic Weisbecker <fweisbec@gmail.com> | 2009-06-20 06:52:21 +0200 |
commit | 9ea1a153a4fb435c22e9988784bb476671286112 (patch) | |
tree | 0f13f65f1bb8edae5a2906d22a209ff013e283ec | |
parent | tracing/urgent: fix unbalanced ftrace_start_up (diff) | |
download | linux-9ea1a153a4fb435c22e9988784bb476671286112.tar.xz linux-9ea1a153a4fb435c22e9988784bb476671286112.zip |
tracing/urgent: warn in case of ftrace_start_up inbalance
Prevent from further ftrace_start_up inbalances so that we avoid
future nop patching omissions with dynamic ftrace.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | kernel/trace/ftrace.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index bb60732ade0c..3718d55fb4c3 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -1224,6 +1224,13 @@ static void ftrace_shutdown(int command) return; ftrace_start_up--; + /* + * Just warn in case of unbalance, no need to kill ftrace, it's not + * critical but the ftrace_call callers may be never nopped again after + * further ftrace uses. + */ + WARN_ON_ONCE(ftrace_start_up < 0); + if (!ftrace_start_up) command |= FTRACE_DISABLE_CALLS; |