ftrace: Make ftrace_location() a nop on !DYNAMIC_FTRACE
authorSteven Rostedt <srostedt@redhat.com>
Wed, 6 Jun 2012 17:45:31 +0000 (13:45 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 31 Jul 2012 14:29:57 +0000 (10:29 -0400)
When CONFIG_DYNAMIC_FTRACE is not set, ftrace_location() is not defined.
If a user (like kprobes) references this function, it will break
the compile when CONFIG_DYNAMIC_FTRACE is not set.

Add ftrace_location() as a nop (return 0) when DYNAMIC_FTRACE
is not defined.

Link: http://lkml.kernel.org/r/20120612225426.961092717@goodmis.org
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/ftrace.h

index 3e711122f66c3c15a15f332e9b65c6e963edb987..a52f2f4fe0301d6fcb38c886fb912a1cdc65a79b 100644 (file)
@@ -520,7 +520,7 @@ extern int skip_trace(unsigned long ip);
 
 extern void ftrace_disable_daemon(void);
 extern void ftrace_enable_daemon(void);
-#else
+#else /* CONFIG_DYNAMIC_FTRACE */
 static inline int skip_trace(unsigned long ip) { return 0; }
 static inline int ftrace_force_update(void) { return 0; }
 static inline void ftrace_disable_daemon(void) { }
@@ -538,6 +538,10 @@ static inline int ftrace_text_reserved(void *start, void *end)
 {
        return 0;
 }
+static inline unsigned long ftrace_location(unsigned long ip)
+{
+       return 0;
+}
 
 /*
  * Again users of functions that have ftrace_ops may not