All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [trace:ftrace-regs 25/26] kernel/trace/trace_sched_wakeup.c:215:36: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function
Date: Tue, 10 Nov 2020 11:55:28 +0800	[thread overview]
Message-ID: <202011101123.tyxtmkSm-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6473 bytes --]

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-a011-20201109 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 09ec07827b1128504457a93dee80b2ceee1af600)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git/commit/?id=a1fed3f30010663200313fd4d0f36e202a222917
        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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from kernel/trace/trace_sched_wakeup.c:16:
   include/linux/ftrace.h:102:63: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function [-Wvisibility]
   static __always_inline struct pt_regs *ftrace_get_regs(struct ftrace_regs *fregs)
                                                                 ^
   include/linux/ftrace.h:107:9: error: implicit declaration of function 'arch_ftrace_get_regs' [-Werror,-Wimplicit-function-declaration]
           return arch_ftrace_get_regs(fregs);
                  ^
   include/linux/ftrace.h:107:9: note: did you mean 'ftrace_get_regs'?
   include/linux/ftrace.h:102:40: note: 'ftrace_get_regs' declared here
   static __always_inline struct pt_regs *ftrace_get_regs(struct ftrace_regs *fregs)
                                          ^
   include/linux/ftrace.h:107:9: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct pt_regs *' [-Wint-conversion]
           return arch_ftrace_get_regs(fregs);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/ftrace.h:111:40: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function [-Wvisibility]
                                 struct ftrace_ops *op, struct ftrace_regs *fregs);
                                                               ^
   include/linux/ftrace.h:279:34: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function [-Wvisibility]
                           struct ftrace_ops *op, struct ftrace_regs *fregs);
                                                         ^
>> kernel/trace/trace_sched_wakeup.c:215:36: warning: declaration of 'struct ftrace_regs' will not be visible outside of this function [-Wvisibility]
                      struct ftrace_ops *op, struct ftrace_regs *fregs)
                                                    ^
   kernel/trace/trace_sched_wakeup.c:681:28: error: incompatible function pointer types passing 'void (unsigned long, unsigned long, struct ftrace_ops *, struct ftrace_regs *)' to parameter of type 'ftrace_func_t' (aka 'void (*)(unsigned long, unsigned long, struct ftrace_ops *, struct ftrace_regs *)') [-Werror,-Wincompatible-function-pointer-types]
           ftrace_init_array_ops(tr, wakeup_tracer_call);
                                     ^~~~~~~~~~~~~~~~~~
   kernel/trace/trace.h:975:66: note: passing argument to parameter 'func' here
   void ftrace_init_array_ops(struct trace_array *tr, ftrace_func_t func);
                                                                    ^
   5 warnings and 2 errors generated.

vim +215 kernel/trace/trace_sched_wakeup.c

7495a5beaa22f19 Jiri Olsa               2010-09-23  209  
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  210) /*
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  211)  * wakeup uses its own tracer function to keep the overhead down:
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  212)  */
7495a5beaa22f19 Jiri Olsa               2010-09-23  213  static void
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  214) wakeup_tracer_call(unsigned long ip, unsigned long parent_ip,
ee600f9e55a1981 Steven Rostedt (VMware  2020-10-28 @215) 		   struct ftrace_ops *op, struct ftrace_regs *fregs)
7495a5beaa22f19 Jiri Olsa               2010-09-23  216  {
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  217) 	struct trace_array *tr = wakeup_trace;
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  218) 	struct trace_array_cpu *data;
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  219) 	unsigned long flags;
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  220) 	int pc;
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  221) 
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  222) 	if (!func_prolog_preempt_disable(tr, &data, &pc))
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  223) 		return;
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  224) 
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  225) 	local_irq_save(flags);
7495a5beaa22f19 Jiri Olsa               2010-09-23  226  	trace_function(tr, ip, parent_ip, flags, pc);
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  227) 	local_irq_restore(flags);
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  228) 
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  229) 	atomic_dec(&data->disabled);
317e04ca905ac6c Steven Rostedt (VMware  2018-11-28  230) 	preempt_enable_notrace();
7495a5beaa22f19 Jiri Olsa               2010-09-23  231  }
7495a5beaa22f19 Jiri Olsa               2010-09-23  232  

:::::: The code at line 215 was first introduced by commit
:::::: ee600f9e55a19811b2e069cd405ea1dd4ea18819 ftrace: Have the callbacks receive a struct ftrace_regs instead of pt_regs

:::::: TO: Steven Rostedt (VMware) <rostedt@goodmis.org>
:::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30263 bytes --]

                 reply	other threads:[~2020-11-10  3:55 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202011101123.tyxtmkSm-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.