aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-10-07 16:57:56 -0400
committerSteven Rostedt <rostedt@goodmis.org>2009-10-07 17:22:24 -0400
commit3279ba37db5d65c4ab0dcdee3b211ccb85bb563f (patch)
treee0051b9110b15187c4aaaa980749ab829f2e8427
parente7247a15ff3bbdab0a8b402dffa1171e5c05a8e0 (diff)
ftrace: check for failure for all conversions
Due to legacy code from back when the dynamic tracer used a daemon, only core kernel code was checking for failures. This is no longer the case. We must check for failures any time we perform text modifications. Cc: stable@kernel.org Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r--kernel/trace/ftrace.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index c701476a648b..f136fe5da07a 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1074,14 +1074,9 @@ static void ftrace_replace_code(int enable)
1074 failed = __ftrace_replace_code(rec, enable); 1074 failed = __ftrace_replace_code(rec, enable);
1075 if (failed) { 1075 if (failed) {
1076 rec->flags |= FTRACE_FL_FAILED; 1076 rec->flags |= FTRACE_FL_FAILED;
1077 if ((system_state == SYSTEM_BOOTING) || 1077 ftrace_bug(failed, rec->ip);
1078 !core_kernel_text(rec->ip)) { 1078 /* Stop processing */
1079 ftrace_free_rec(rec); 1079 return;
1080 } else {
1081 ftrace_bug(failed, rec->ip);
1082 /* Stop processing */
1083 return;
1084 }
1085 } 1080 }
1086 } while_for_each_ftrace_rec(); 1081 } while_for_each_ftrace_rec();
1087} 1082}