ftrace: Use the ftrace_addr helper functions to find the ftrace_addr
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Thu, 8 May 2014 11:01:21 +0000 (07:01 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 14 May 2014 15:37:29 +0000 (11:37 -0400)
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 <rostedt@goodmis.org>
kernel/trace/ftrace.c

index e825fded435db127ca26cd5e1eb6b2815f1a5390..52c2b53b79534e0a609bf81c0d17b3fe94381e3c 100644 (file)
@@ -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);
        }