[PATCH 1/3] tracing/ftrace: fix the check on nopped sites

Steven Rostedt
2009-03-17T03:49:57Z

[-- Attachment #1: 0001-tracing-ftrace-fix-the-check-on-nopped-sites.patch --]
[-- Type: text/plain, Size: 1198 bytes --]

From: Frederic Weisbecker <fweisbec@gmail.com>

Impact: fix a dynamic tracing failure

Recently, the function and function graph tracers failed to use dynamic
tracing after the following commit:

fa9d13cf135efbd454453a53b6299976bea245a9
(ftrace: don't try to __ftrace_replace_code on !FTRACE_FL_CONVERTED rec)

The patch is right except a mistake on the check for the FTRACE_FL_CONVERTED
flag. The code patching is aborted in case of successfully nopped sites.
What we want is the opposite: ignore the callsites that haven't been nopped.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
kernel/trace/ftrace.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 90d5729..7847806 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -537,7 +537,7 @@ static void ftrace_replace_code(int enable)
*/
if (rec->flags & FTRACE_FL_FREE ||
rec->flags & FTRACE_FL_FAILED ||
- rec->flags & FTRACE_FL_CONVERTED)
+ !(rec->flags & FTRACE_FL_CONVERTED))
continue;

/* ignore updates to this record's mcount site */
--
1.6.2

--