tree:
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
ftrace-regs
head: 88610b6f216a17265a798caaefa557a8a73338f7
commit: a1fed3f30010663200313fd4d0f36e202a222917 [25/26] ftrace/x86: Allow for arguments
to be passed in to ftrace_regs by default
config: x86_64-randconfig-a013-20201111 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/c...
git remote add trace
https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git
git fetch --no-tags trace ftrace-regs
git checkout a1fed3f30010663200313fd4d0f36e202a222917
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from kernel/trace/trace_irqsoff.c:16:
include/linux/ftrace.h:102:63: warning: 'struct ftrace_regs' declared inside
parameter list will not be visible outside of this definition or declaration
102 | static __always_inline struct pt_regs *ftrace_get_regs(struct ftrace_regs
*fregs)
| ^~~~~~~~~~~
include/linux/ftrace.h: In function 'ftrace_get_regs':
include/linux/ftrace.h:107:9: error: implicit declaration of function
'arch_ftrace_get_regs'; did you mean 'ftrace_get_regs'?
[-Werror=implicit-function-declaration]
107 | return arch_ftrace_get_regs(fregs);
| ^~~~~~~~~~~~~~~~~~~~
| ftrace_get_regs
include/linux/ftrace.h:107:9: warning: returning 'int' from a function with
return type 'struct pt_regs *' makes pointer from integer without a cast
[-Wint-conversion]
107 | return arch_ftrace_get_regs(fregs);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/ftrace.h: At top level:
include/linux/ftrace.h:111:40: warning: 'struct ftrace_regs' declared inside
parameter list will not be visible outside of this definition or declaration
111 | struct ftrace_ops *op, struct ftrace_regs *fregs);
| ^~~~~~~~~~~
include/linux/ftrace.h:279:34: warning: 'struct ftrace_regs' declared inside
parameter list will not be visible outside of this definition or declaration
279 | struct ftrace_ops *op, struct ftrace_regs *fregs);
| ^~~~~~~~~~~
kernel/trace/trace_irqsoff.c:141:37: warning: 'struct ftrace_regs' declared
inside parameter list will not be visible outside of this definition or declaration
141 | struct ftrace_ops *op, struct ftrace_regs *fregs)
| ^~~~~~~~~~~
kernel/trace/trace_irqsoff.c: In function '__irqsoff_tracer_init':
> kernel/trace/trace_irqsoff.c:571:28: error: passing argument 2 of
'ftrace_init_array_ops' from incompatible pointer type
[-Werror=incompatible-pointer-types]
571 | ftrace_init_array_ops(tr,
irqsoff_tracer_call);
| ^~~~~~~~~~~~~~~~~~~
| |
| void (*)(long unsigned int, long unsigned int,
struct ftrace_ops *, struct ftrace_regs *)
In file included from kernel/trace/trace_irqsoff.c:19:
kernel/trace/trace.h:975:66: note: expected 'ftrace_func_t' {aka 'void
(*)(long unsigned int, long unsigned int, struct ftrace_ops *, struct ftrace_regs
*)'} but argument is of type 'void (*)(long unsigned int, long unsigned int,
struct ftrace_ops *, struct ftrace_regs *)'
975 | void ftrace_init_array_ops(struct trace_array *tr, ftrace_func_t func);
| ~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +/ftrace_init_array_ops +571 kernel/trace/trace_irqsoff.c
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 554)
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 555) static int
__irqsoff_tracer_init(struct trace_array *tr)
81d68a96a398448 Steven Rostedt 2008-05-12 556 {
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 557) if (irqsoff_busy)
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 558) return -EBUSY;
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 559)
983f938ae695852 Steven Rostedt (Red Hat 2015-09-30 560) save_flags =
tr->trace_flags;
613f04a0f51e6e6 Steven Rostedt (Red Hat 2013-03-14 561)
613f04a0f51e6e6 Steven Rostedt (Red Hat 2013-03-14 562) /* non overwrite screws up the
latency tracers */
2b6080f28c7cc3e Steven Rostedt 2012-05-11 563 set_tracer_flag(tr,
TRACE_ITER_OVERWRITE, 1);
2b6080f28c7cc3e Steven Rostedt 2012-05-11 564 set_tracer_flag(tr,
TRACE_ITER_LATENCY_FMT, 1);
e9d25fe6eaa2c72 Steven Rostedt 2009-03-04 565
6d9b3fa5e7f663b Steven Rostedt (Red Hat 2014-01-14 566) tr->max_latency = 0;
81d68a96a398448 Steven Rostedt 2008-05-12 567 irqsoff_trace = tr;
c5f888cae49dfe3 Steven Rostedt 2008-05-12 568 /* make sure that the tracer is
visible */
81d68a96a398448 Steven Rostedt 2008-05-12 569 smp_wmb();
62b915f1060996a Jiri Olsa 2010-04-02 570
4104d326b670c2b Steven Rostedt (Red Hat 2014-01-10 @571) ftrace_init_array_ops(tr,
irqsoff_tracer_call);
4104d326b670c2b Steven Rostedt (Red Hat 2014-01-10 572)
4104d326b670c2b Steven Rostedt (Red Hat 2014-01-10 573) /* Only toplevel instance
supports graph tracing */
4104d326b670c2b Steven Rostedt (Red Hat 2014-01-10 574) if (start_irqsoff_tracer(tr,
(tr->flags & TRACE_ARRAY_FL_GLOBAL &&
983f938ae695852 Steven Rostedt (Red Hat 2015-09-30 575) is_graph(tr))))
62b915f1060996a Jiri Olsa 2010-04-02 576 printk(KERN_ERR "failed
to start irqsoff tracer\n");
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 577)
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 578) irqsoff_busy = true;
02f2f7646fd5d04 Steven Rostedt (Red Hat 2014-01-14 579) return 0;
81d68a96a398448 Steven Rostedt 2008-05-12 580 }
81d68a96a398448 Steven Rostedt 2008-05-12 581
:::::: The code at line 571 was first introduced by commit
:::::: 4104d326b670c2b66f575d2004daa28b2d1b4c8d ftrace: Remove global function list and
call function directly
:::::: TO: Steven Rostedt (Red Hat) <rostedt(a)goodmis.org>
:::::: CC: Steven Rostedt <rostedt(a)goodmis.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org