]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ftrace/samples: Add missing prototypes direct functions
authorJiri Olsa <jolsa@redhat.com>
Sun, 19 Dec 2021 13:53:17 +0000 (14:53 +0100)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 5 Jan 2022 23:34:50 +0000 (18:34 -0500)
There's another compilation fail (first here [1]) reported by kernel
test robot for W=1 clang build:

  >> samples/ftrace/ftrace-direct-multi-modify.c:7:6: warning: no previous
  prototype for function 'my_direct_func1' [-Wmissing-prototypes]
     void my_direct_func1(unsigned long ip)

Direct functions in ftrace direct sample modules need to have prototypes
defined. They are already global in order to be visible for the inline
assembly, so there's no problem.

The kernel test robot reported just error for ftrace-direct-multi-modify,
but I got same errors also for the rest of the modules touched by this patch.

[1] ad670fd31b9f ftrace/samples: Add missing prototype for my_direct_func

Link: https://lkml.kernel.org/r/20211219135317.212430-1-jolsa@kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 032508183d58 ("ftrace/samples: Add module to test multi direct modify interface")
Fixes: 69d218f0c900 ("ftrace/samples: Add a sample module that implements modify_ftrace_direct()")
Fixes: b9ae8768511b ("ftrace: Add another example of register_ftrace_direct() use case")
Fixes: 24d7466d0f8f ("ftrace: Add sample module that uses register_ftrace_direct()")
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
samples/ftrace/ftrace-direct-modify.c
samples/ftrace/ftrace-direct-multi-modify.c
samples/ftrace/ftrace-direct-too.c
samples/ftrace/ftrace-direct.c

index 690e4a9ff33304f065c00422511b0aa829d3e7df..2877cb053a8293b42e3e7b5a8e7e4d1190b7d436 100644 (file)
@@ -4,6 +4,9 @@
 #include <linux/ftrace.h>
 #include <asm/asm-offsets.h>
 
+extern void my_direct_func1(void);
+extern void my_direct_func2(void);
+
 void my_direct_func1(void)
 {
        trace_printk("my direct func1\n");
index 91bc42a7adb9167057bbe6c460d0392cf93c3f9a..6f43a39decd02d25be90f2a30aeebd682f6b8521 100644 (file)
@@ -4,6 +4,9 @@
 #include <linux/ftrace.h>
 #include <asm/asm-offsets.h>
 
+extern void my_direct_func1(unsigned long ip);
+extern void my_direct_func2(unsigned long ip);
+
 void my_direct_func1(unsigned long ip)
 {
        trace_printk("my direct func1 ip %lx\n", ip);
index 6e0de725bf221f97a60de3d8a3062b2a29dd7b5d..b97e5ed46233ba56bb12a3e66abd24a0107e84b5 100644 (file)
@@ -5,6 +5,9 @@
 #include <linux/ftrace.h>
 #include <asm/asm-offsets.h>
 
+extern void my_direct_func(struct vm_area_struct *vma,
+                          unsigned long address, unsigned int flags);
+
 void my_direct_func(struct vm_area_struct *vma,
                        unsigned long address, unsigned int flags)
 {
index a30aa42ec76a8ff92ee0377264eb8166e7d206b2..c918b13edb490d2600dedda173088ee553329a21 100644 (file)
@@ -5,6 +5,8 @@
 #include <linux/ftrace.h>
 #include <asm/asm-offsets.h>
 
+extern void my_direct_func(struct task_struct *p);
+
 void my_direct_func(struct task_struct *p)
 {
        trace_printk("waking up %s-%d\n", p->comm, p->pid);