From: "Steven Rostedt (Red Hat)" <rost...@goodmis.org>

With the moving of the functions that determine what the mcount call site
should be replaced with into the generic code, there is a few places
in the generic code that can use them instead of hard coding it as it
does.

Signed-off-by: Steven Rostedt <rost...@goodmis.org>
---
 kernel/trace/ftrace.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index e825fde..52c2b53 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -1798,12 +1798,12 @@ __ftrace_replace_code(struct dyn_ftrace *rec, int 
enable)
        unsigned long ftrace_addr;
        int ret;
 
-       ret = ftrace_update_record(rec, enable);
+       ftrace_addr = ftrace_get_addr_new(rec);
 
-       if (rec->flags & FTRACE_FL_REGS)
-               ftrace_addr = (unsigned long)FTRACE_REGS_ADDR;
-       else
-               ftrace_addr = (unsigned long)FTRACE_ADDR;
+       /* This needs to be done before we call ftrace_update_record */
+       ftrace_old_addr = ftrace_get_addr_curr(rec);
+
+       ret = ftrace_update_record(rec, enable);
 
        switch (ret) {
        case FTRACE_UPDATE_IGNORE:
@@ -1817,11 +1817,6 @@ __ftrace_replace_code(struct dyn_ftrace *rec, int enable)
 
        case FTRACE_UPDATE_MODIFY_CALL_REGS:
        case FTRACE_UPDATE_MODIFY_CALL:
-               if (rec->flags & FTRACE_FL_REGS)
-                       ftrace_old_addr = (unsigned long)FTRACE_ADDR;
-               else
-                       ftrace_old_addr = (unsigned long)FTRACE_REGS_ADDR;
-
                return ftrace_modify_call(rec, ftrace_old_addr, ftrace_addr);
        }
 
-- 
1.8.5.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to