tracing/urgent: warn in case of ftrace_start_up inbalance
authorFrederic Weisbecker <fweisbec@gmail.com>
Sat, 20 Jun 2009 04:52:21 +0000 (06:52 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Sat, 20 Jun 2009 04:52:21 +0000 (06:52 +0200)
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>
kernel/trace/ftrace.c

index bb60732..3718d55 100644 (file)
@@ -1224,6 +1224,13 @@ static void ftrace_shutdown(int command)
                return;
 
        ftrace_start_up--;
                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;
 
        if (!ftrace_start_up)
                command |= FTRACE_DISABLE_CALLS;