summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-11-02 17:01:20 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-01-22 23:37:58 -0500
commit9640388b63556b4cfecbb5aaf91a5c99d272f429 (patch)
tree517d07d5f3d1e10aa795fe334db40adf0321922f
parent6350379452ccaeaa71734adf57dec2ebc9207849 (diff)
downloadlwn-9640388b63556b4cfecbb5aaf91a5c99d272f429.tar.gz
lwn-9640388b63556b4cfecbb5aaf91a5c99d272f429.zip
ftrace: Fix function tracing recursion self test
The function tracing recursion self test should not crash the machine if the resursion test fails. If it detects that the function tracing is recursing when it should not be, then bail, don't go into an infinite recursive loop. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/trace_selftest.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
index adb008a0136f..51c819c12c29 100644
--- a/kernel/trace/trace_selftest.c
+++ b/kernel/trace/trace_selftest.c
@@ -415,7 +415,8 @@ static void trace_selftest_test_recursion_func(unsigned long ip,
* The ftrace infrastructure should provide the recursion
* protection. If not, this will crash the kernel!
*/
- trace_selftest_recursion_cnt++;
+ if (trace_selftest_recursion_cnt++ > 10)
+ return;
DYN_FTRACE_TEST_NAME();
}