All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH][next] ftrace: Fix -Wcast-function-type warnings on powerpc64
Date: Tue, 09 Nov 2021 04:43:02 +0800	[thread overview]
Message-ID: <202111090453.B4LPJ4xc-lkp@intel.com> (raw)
In-Reply-To: <20211005053922.GA702049@embeddedor>

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

Hi "Gustavo,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/perf/core]
[also build test ERROR on v5.15]
[cannot apply to rostedt-trace/for-next linux/master linus/master next-20211108]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Gustavo-A-R-Silva/ftrace-Fix-Wcast-function-type-warnings-on-powerpc64/20211005-133606
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 41100833cdd8b1bef363b81a6482d74711c116ad
config: powerpc64-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
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
        # https://github.com/0day-ci/linux/commit/9c10c0713155955bf1170eea3904cfcfb6d2d832
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Gustavo-A-R-Silva/ftrace-Fix-Wcast-function-type-warnings-on-powerpc64/20211005-133606
        git checkout 9c10c0713155955bf1170eea3904cfcfb6d2d832
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc 

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

All errors (new ones prefixed by >>):

   kernel/trace/trace.c: In function 'trace_check_vprintf':
   kernel/trace/trace.c:3827:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    3827 |                 trace_seq_vprintf(&iter->seq, iter->fmt, ap);
         |                 ^~~~~~~~~~~~~~~~~
   kernel/trace/trace.c:3882:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    3882 |                 trace_seq_vprintf(&iter->seq, p, ap);
         |                 ^~~~~~~~~~~~~~~~~
   In file included from kernel/trace/trace.c:8605:
   kernel/trace/trace_selftest.c: At top level:
   kernel/trace/trace_selftest.c:152:35: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     152 |         .func                   = trace_selftest_test_probe1_func,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:152:35: note: (near initialization for 'test_probe1.func')
   kernel/trace/trace_selftest.c:156:35: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     156 |         .func                   = trace_selftest_test_probe2_func,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:156:35: note: (near initialization for 'test_probe2.func')
   kernel/trace/trace_selftest.c:160:35: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     160 |         .func                   = trace_selftest_test_probe3_func,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:160:35: note: (near initialization for 'test_probe3.func')
   kernel/trace/trace_selftest.c: In function 'trace_selftest_ops':
>> kernel/trace/trace_selftest.c:219:43: error: passing argument 2 of 'ftrace_init_array_ops' from incompatible pointer type [-Werror=incompatible-pointer-types]
     219 |                 ftrace_init_array_ops(tr, trace_selftest_test_global_func);
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                           |
         |                                           void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)
   In file included from kernel/trace/trace.c:53:
   kernel/trace/trace.h:981:66: note: expected 'ftrace_func_t' {aka 'void (*)(long unsigned int,  long unsigned int)'} but argument is of type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)'
     981 | void ftrace_init_array_ops(struct trace_array *tr, ftrace_func_t func);
         |                                                    ~~~~~~~~~~~~~~^~~~
   In file included from kernel/trace/trace.c:8605:
>> kernel/trace/trace_selftest.c:256:23: error: assignment to 'ftrace_func_t' {aka 'void (*)(long unsigned int,  long unsigned int)'} from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     256 |         dyn_ops->func = trace_selftest_test_dyn_func;
         |                       ^
   kernel/trace/trace_selftest.c: At top level:
   kernel/trace/trace_selftest.c:447:35: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     447 |         .func                   = trace_selftest_test_recursion_func,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:447:35: note: (near initialization for 'test_rec_probe.func')
   kernel/trace/trace_selftest.c:452:35: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     452 |         .func                   = trace_selftest_test_recursion_safe_func,
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:452:35: note: (near initialization for 'test_recsafe_probe.func')
   kernel/trace/trace_selftest.c:562:27: error: initialization of 'void (*)(long unsigned int,  long unsigned int)' from incompatible pointer type 'void (*)(long unsigned int,  long unsigned int,  struct ftrace_ops *, struct ftrace_regs *)' [-Werror=incompatible-pointer-types]
     562 |         .func           = trace_selftest_test_regs_func,
         |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_selftest.c:562:27: note: (near initialization for 'test_regs_probe.func')
   cc1: some warnings being treated as errors


vim +/ftrace_init_array_ops +219 kernel/trace/trace_selftest.c

95950c2ecb3131 Steven Rostedt           2011-05-06  181  
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  182) static int trace_selftest_ops(struct trace_array *tr, int cnt)
95950c2ecb3131 Steven Rostedt           2011-05-06  183  {
95950c2ecb3131 Steven Rostedt           2011-05-06  184  	int save_ftrace_enabled = ftrace_enabled;
95950c2ecb3131 Steven Rostedt           2011-05-06  185  	struct ftrace_ops *dyn_ops;
95950c2ecb3131 Steven Rostedt           2011-05-06  186  	char *func1_name;
95950c2ecb3131 Steven Rostedt           2011-05-06  187  	char *func2_name;
95950c2ecb3131 Steven Rostedt           2011-05-06  188  	int len1;
95950c2ecb3131 Steven Rostedt           2011-05-06  189  	int len2;
95950c2ecb3131 Steven Rostedt           2011-05-06  190  	int ret = -1;
95950c2ecb3131 Steven Rostedt           2011-05-06  191  
95950c2ecb3131 Steven Rostedt           2011-05-06  192  	printk(KERN_CONT "PASSED\n");
95950c2ecb3131 Steven Rostedt           2011-05-06  193  	pr_info("Testing dynamic ftrace ops #%d: ", cnt);
95950c2ecb3131 Steven Rostedt           2011-05-06  194  
95950c2ecb3131 Steven Rostedt           2011-05-06  195  	ftrace_enabled = 1;
95950c2ecb3131 Steven Rostedt           2011-05-06  196  	reset_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  197  
95950c2ecb3131 Steven Rostedt           2011-05-06  198  	/* Handle PPC64 '.' name */
95950c2ecb3131 Steven Rostedt           2011-05-06  199  	func1_name = "*" __stringify(DYN_FTRACE_TEST_NAME);
95950c2ecb3131 Steven Rostedt           2011-05-06  200  	func2_name = "*" __stringify(DYN_FTRACE_TEST_NAME2);
95950c2ecb3131 Steven Rostedt           2011-05-06  201  	len1 = strlen(func1_name);
95950c2ecb3131 Steven Rostedt           2011-05-06  202  	len2 = strlen(func2_name);
95950c2ecb3131 Steven Rostedt           2011-05-06  203  
95950c2ecb3131 Steven Rostedt           2011-05-06  204  	/*
95950c2ecb3131 Steven Rostedt           2011-05-06  205  	 * Probe 1 will trace function 1.
95950c2ecb3131 Steven Rostedt           2011-05-06  206  	 * Probe 2 will trace function 2.
95950c2ecb3131 Steven Rostedt           2011-05-06  207  	 * Probe 3 will trace functions 1 and 2.
95950c2ecb3131 Steven Rostedt           2011-05-06  208  	 */
95950c2ecb3131 Steven Rostedt           2011-05-06  209  	ftrace_set_filter(&test_probe1, func1_name, len1, 1);
95950c2ecb3131 Steven Rostedt           2011-05-06  210  	ftrace_set_filter(&test_probe2, func2_name, len2, 1);
95950c2ecb3131 Steven Rostedt           2011-05-06  211  	ftrace_set_filter(&test_probe3, func1_name, len1, 1);
95950c2ecb3131 Steven Rostedt           2011-05-06  212  	ftrace_set_filter(&test_probe3, func2_name, len2, 0);
95950c2ecb3131 Steven Rostedt           2011-05-06  213  
95950c2ecb3131 Steven Rostedt           2011-05-06  214  	register_ftrace_function(&test_probe1);
95950c2ecb3131 Steven Rostedt           2011-05-06  215  	register_ftrace_function(&test_probe2);
95950c2ecb3131 Steven Rostedt           2011-05-06  216  	register_ftrace_function(&test_probe3);
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  217) 	/* First time we are running with main function */
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  218) 	if (cnt > 1) {
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10 @219) 		ftrace_init_array_ops(tr, trace_selftest_test_global_func);
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  220) 		register_ftrace_function(tr->ops);
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  221) 	}
95950c2ecb3131 Steven Rostedt           2011-05-06  222  
95950c2ecb3131 Steven Rostedt           2011-05-06  223  	DYN_FTRACE_TEST_NAME();
95950c2ecb3131 Steven Rostedt           2011-05-06  224  
95950c2ecb3131 Steven Rostedt           2011-05-06  225  	print_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  226  
95950c2ecb3131 Steven Rostedt           2011-05-06  227  	if (trace_selftest_test_probe1_cnt != 1)
95950c2ecb3131 Steven Rostedt           2011-05-06  228  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  229  	if (trace_selftest_test_probe2_cnt != 0)
95950c2ecb3131 Steven Rostedt           2011-05-06  230  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  231  	if (trace_selftest_test_probe3_cnt != 1)
95950c2ecb3131 Steven Rostedt           2011-05-06  232  		goto out;
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  233) 	if (cnt > 1) {
95950c2ecb3131 Steven Rostedt           2011-05-06  234  		if (trace_selftest_test_global_cnt == 0)
95950c2ecb3131 Steven Rostedt           2011-05-06  235  			goto out;
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  236) 	}
95950c2ecb3131 Steven Rostedt           2011-05-06  237  
95950c2ecb3131 Steven Rostedt           2011-05-06  238  	DYN_FTRACE_TEST_NAME2();
95950c2ecb3131 Steven Rostedt           2011-05-06  239  
95950c2ecb3131 Steven Rostedt           2011-05-06  240  	print_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  241  
95950c2ecb3131 Steven Rostedt           2011-05-06  242  	if (trace_selftest_test_probe1_cnt != 1)
95950c2ecb3131 Steven Rostedt           2011-05-06  243  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  244  	if (trace_selftest_test_probe2_cnt != 1)
95950c2ecb3131 Steven Rostedt           2011-05-06  245  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  246  	if (trace_selftest_test_probe3_cnt != 2)
95950c2ecb3131 Steven Rostedt           2011-05-06  247  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  248  
95950c2ecb3131 Steven Rostedt           2011-05-06  249  	/* Add a dynamic probe */
95950c2ecb3131 Steven Rostedt           2011-05-06  250  	dyn_ops = kzalloc(sizeof(*dyn_ops), GFP_KERNEL);
95950c2ecb3131 Steven Rostedt           2011-05-06  251  	if (!dyn_ops) {
95950c2ecb3131 Steven Rostedt           2011-05-06  252  		printk("MEMORY ERROR ");
95950c2ecb3131 Steven Rostedt           2011-05-06  253  		goto out;
95950c2ecb3131 Steven Rostedt           2011-05-06  254  	}
95950c2ecb3131 Steven Rostedt           2011-05-06  255  
95950c2ecb3131 Steven Rostedt           2011-05-06 @256  	dyn_ops->func = trace_selftest_test_dyn_func;
95950c2ecb3131 Steven Rostedt           2011-05-06  257  
95950c2ecb3131 Steven Rostedt           2011-05-06  258  	register_ftrace_function(dyn_ops);
95950c2ecb3131 Steven Rostedt           2011-05-06  259  
95950c2ecb3131 Steven Rostedt           2011-05-06  260  	trace_selftest_test_global_cnt = 0;
95950c2ecb3131 Steven Rostedt           2011-05-06  261  
95950c2ecb3131 Steven Rostedt           2011-05-06  262  	DYN_FTRACE_TEST_NAME();
95950c2ecb3131 Steven Rostedt           2011-05-06  263  
95950c2ecb3131 Steven Rostedt           2011-05-06  264  	print_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  265  
95950c2ecb3131 Steven Rostedt           2011-05-06  266  	if (trace_selftest_test_probe1_cnt != 2)
95950c2ecb3131 Steven Rostedt           2011-05-06  267  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  268  	if (trace_selftest_test_probe2_cnt != 1)
95950c2ecb3131 Steven Rostedt           2011-05-06  269  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  270  	if (trace_selftest_test_probe3_cnt != 3)
95950c2ecb3131 Steven Rostedt           2011-05-06  271  		goto out_free;
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  272) 	if (cnt > 1) {
95950c2ecb3131 Steven Rostedt           2011-05-06  273  		if (trace_selftest_test_global_cnt == 0)
46320a6acc4fb5 Steven Rostedt (VMware   2017-09-01  274) 			goto out_free;
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  275) 	}
95950c2ecb3131 Steven Rostedt           2011-05-06  276  	if (trace_selftest_test_dyn_cnt == 0)
95950c2ecb3131 Steven Rostedt           2011-05-06  277  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  278  
95950c2ecb3131 Steven Rostedt           2011-05-06  279  	DYN_FTRACE_TEST_NAME2();
95950c2ecb3131 Steven Rostedt           2011-05-06  280  
95950c2ecb3131 Steven Rostedt           2011-05-06  281  	print_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  282  
95950c2ecb3131 Steven Rostedt           2011-05-06  283  	if (trace_selftest_test_probe1_cnt != 2)
95950c2ecb3131 Steven Rostedt           2011-05-06  284  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  285  	if (trace_selftest_test_probe2_cnt != 2)
95950c2ecb3131 Steven Rostedt           2011-05-06  286  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  287  	if (trace_selftest_test_probe3_cnt != 4)
95950c2ecb3131 Steven Rostedt           2011-05-06  288  		goto out_free;
95950c2ecb3131 Steven Rostedt           2011-05-06  289  
95950c2ecb3131 Steven Rostedt           2011-05-06  290  	ret = 0;
95950c2ecb3131 Steven Rostedt           2011-05-06  291   out_free:
95950c2ecb3131 Steven Rostedt           2011-05-06  292  	unregister_ftrace_function(dyn_ops);
95950c2ecb3131 Steven Rostedt           2011-05-06  293  	kfree(dyn_ops);
95950c2ecb3131 Steven Rostedt           2011-05-06  294  
95950c2ecb3131 Steven Rostedt           2011-05-06  295   out:
95950c2ecb3131 Steven Rostedt           2011-05-06  296  	/* Purposely unregister in the same order */
95950c2ecb3131 Steven Rostedt           2011-05-06  297  	unregister_ftrace_function(&test_probe1);
95950c2ecb3131 Steven Rostedt           2011-05-06  298  	unregister_ftrace_function(&test_probe2);
95950c2ecb3131 Steven Rostedt           2011-05-06  299  	unregister_ftrace_function(&test_probe3);
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  300) 	if (cnt > 1)
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  301) 		unregister_ftrace_function(tr->ops);
4104d326b670c2 Steven Rostedt (Red Hat  2014-01-10  302) 	ftrace_reset_array_ops(tr);
95950c2ecb3131 Steven Rostedt           2011-05-06  303  
95950c2ecb3131 Steven Rostedt           2011-05-06  304  	/* Make sure everything is off */
95950c2ecb3131 Steven Rostedt           2011-05-06  305  	reset_counts();
95950c2ecb3131 Steven Rostedt           2011-05-06  306  	DYN_FTRACE_TEST_NAME();
95950c2ecb3131 Steven Rostedt           2011-05-06  307  	DYN_FTRACE_TEST_NAME();
95950c2ecb3131 Steven Rostedt           2011-05-06  308  
95950c2ecb3131 Steven Rostedt           2011-05-06  309  	if (trace_selftest_test_probe1_cnt ||
95950c2ecb3131 Steven Rostedt           2011-05-06  310  	    trace_selftest_test_probe2_cnt ||
95950c2ecb3131 Steven Rostedt           2011-05-06  311  	    trace_selftest_test_probe3_cnt ||
95950c2ecb3131 Steven Rostedt           2011-05-06  312  	    trace_selftest_test_global_cnt ||
95950c2ecb3131 Steven Rostedt           2011-05-06  313  	    trace_selftest_test_dyn_cnt)
95950c2ecb3131 Steven Rostedt           2011-05-06  314  		ret = -1;
95950c2ecb3131 Steven Rostedt           2011-05-06  315  
95950c2ecb3131 Steven Rostedt           2011-05-06  316  	ftrace_enabled = save_ftrace_enabled;
95950c2ecb3131 Steven Rostedt           2011-05-06  317  
95950c2ecb3131 Steven Rostedt           2011-05-06  318  	return ret;
95950c2ecb3131 Steven Rostedt           2011-05-06  319  }
95950c2ecb3131 Steven Rostedt           2011-05-06  320  

---
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: 71820 bytes --]

      parent reply	other threads:[~2021-11-08 20:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-05  5:39 [PATCH][next] ftrace: Fix -Wcast-function-type warnings on powerpc64 Gustavo A. R. Silva
2021-10-05 15:17 ` Steven Rostedt
2021-10-05 16:18   ` Gustavo A. R. Silva
2021-10-05 16:35     ` Steven Rostedt
2021-10-05 16:50       ` Gustavo A. R. Silva
2021-10-05 16:51         ` Steven Rostedt
2021-10-05 19:08         ` Steven Rostedt
2021-10-05 19:35           ` Gustavo A. R. Silva
2021-10-06  0:09             ` Steven Rostedt
2021-10-06 21:14               ` Gustavo A. R. Silva
2021-10-06 21:14                 ` Steven Rostedt
2021-10-06 21:23                   ` Gustavo A. R. Silva
2021-10-13  1:40                   ` Gustavo A. R. Silva
2021-10-13  2:23                     ` Steven Rostedt
2021-10-13  2:39                       ` Gustavo A. R. Silva
2021-10-13  2:44                         ` Steven Rostedt
2021-11-05 18:49 ` kernel test robot
2021-11-05 18:49   ` kernel test robot
2021-11-08 17:02 ` kernel test robot
2021-11-08 20:43 ` kernel test robot [this message]

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=202111090453.B4LPJ4xc-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.