diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-10-07 16:57:56 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-10-07 17:22:24 -0400 |
commit | 3279ba37db5d65c4ab0dcdee3b211ccb85bb563f (patch) | |
tree | e0051b9110b15187c4aaaa980749ab829f2e8427 /kernel/trace/ftrace.c | |
parent | e7247a15ff3bbdab0a8b402dffa1171e5c05a8e0 (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>
Diffstat (limited to 'kernel/trace/ftrace.c')
-rw-r--r-- | kernel/trace/ftrace.c | 11 |
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 | } |