Hi Daniel, I love your patch! Perhaps something to improve: [auto build test WARNING on rostedt-trace/for-next] [also build test WARNING on tip/sched/core] [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/intel-lab-lkp/linux/commits/Daniel-Bristot-de-Oliveira/The-Runtime-Verification-RV-interface/20220616-164837 base: https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git for-next config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220616/202206162130.0xtEgymS-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/31dad6685057c10f6301fbc4018b6586fce0757e git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Daniel-Bristot-de-Oliveira/The-Runtime-Verification-RV-interface/20220616-164837 git checkout 31dad6685057c10f6301fbc4018b6586fce0757e # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/trace/rv/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): In file included from kernel/trace/rv/monitors/wwnr/wwnr.c:8: kernel/trace/rv/monitors/wwnr/wwnr.c: In function 'start_wwnr': kernel/trace/rv/monitors/wwnr/wwnr.c:62:53: error: passing argument 1 of 'check_trace_callback_type_sched_switch' from incompatible pointer type [-Werror=incompatible-pointer-types] 62 | rv_attach_trace_probe("wwnr", sched_switch, handle_switch); | ^~~~~~~~~~~~~ | | | void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int) {aka void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)} include/rv/instrumentation.h:15:48: note: in definition of macro 'rv_attach_trace_probe' 15 | check_trace_callback_type_##tp(rv_handler); \ | ^~~~~~~~~~ In file included from kernel/trace/rv/monitors/wwnr/wwnr.c:3: include/linux/tracepoint.h:279:49: note: expected 'void (*)(void *, bool, unsigned int, struct task_struct *, struct task_struct *)' {aka 'void (*)(void *, _Bool, unsigned int, struct task_struct *, struct task_struct *)'} but argument is of type 'void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int)' {aka 'void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)'} 279 | check_trace_callback_type_##name(void (*cb)(data_proto)) \ | ~~~~~~~^~~~~~~~~~~~~~~ include/linux/tracepoint.h:419:9: note: in expansion of macro '__DECLARE_TRACE' 419 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:553:9: note: in expansion of macro 'DECLARE_TRACE' 553 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/trace/events/sched.h:222:1: note: in expansion of macro 'TRACE_EVENT' 222 | TRACE_EVENT(sched_switch, | ^~~~~~~~~~~ In file included from include/linux/printk.h:11, from include/linux/kernel.h:29, from include/linux/interrupt.h:6, from include/linux/trace_recursion.h:5, from include/linux/ftrace.h:10, from kernel/trace/rv/monitors/wwnr/wwnr.c:2: kernel/trace/rv/monitors/wwnr/wwnr.c:62:53: error: passing argument 1 of 'register_trace_sched_switch' from incompatible pointer type [-Werror=incompatible-pointer-types] 62 | rv_attach_trace_probe("wwnr", sched_switch, handle_switch); | ^~~~~~~~~~~~~ | | | void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int) {aka void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)} include/linux/once_lite.h:15:41: note: in definition of macro 'DO_ONCE_LITE_IF' 15 | bool __ret_do_once = !!(condition); \ | ^~~~~~~~~ include/rv/instrumentation.h:16:17: note: in expansion of macro 'WARN_ONCE' 16 | WARN_ONCE(register_trace_##tp(rv_handler, NULL), \ | ^~~~~~~~~ kernel/trace/rv/monitors/wwnr/wwnr.c:62:9: note: in expansion of macro 'rv_attach_trace_probe' 62 | rv_attach_trace_probe("wwnr", sched_switch, handle_switch); | ^~~~~~~~~~~~~~~~~~~~~ In file included from kernel/trace/rv/monitors/wwnr/wwnr.c:3: include/linux/tracepoint.h:260:38: note: expected 'void (*)(void *, bool, unsigned int, struct task_struct *, struct task_struct *)' {aka 'void (*)(void *, _Bool, unsigned int, struct task_struct *, struct task_struct *)'} but argument is of type 'void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int)' {aka 'void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)'} 260 | register_trace_##name(void (*probe)(data_proto), void *data) \ | ~~~~~~~^~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:419:9: note: in expansion of macro '__DECLARE_TRACE' 419 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:553:9: note: in expansion of macro 'DECLARE_TRACE' 553 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/trace/events/sched.h:222:1: note: in expansion of macro 'TRACE_EVENT' 222 | TRACE_EVENT(sched_switch, | ^~~~~~~~~~~ In file included from kernel/trace/rv/monitors/wwnr/wwnr.c:8: kernel/trace/rv/monitors/wwnr/wwnr.c: In function 'stop_wwnr': kernel/trace/rv/monitors/wwnr/wwnr.c:72:53: error: passing argument 1 of 'unregister_trace_sched_switch' from incompatible pointer type [-Werror=incompatible-pointer-types] 72 | rv_detach_trace_probe("wwnr", sched_switch, handle_switch); | ^~~~~~~~~~~~~ | | | void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int) {aka void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)} include/rv/instrumentation.h:22:39: note: in definition of macro 'rv_detach_trace_probe' 22 | unregister_trace_##tp(rv_handler, NULL); \ | ^~~~~~~~~~ In file included from kernel/trace/rv/monitors/wwnr/wwnr.c:3: include/linux/tracepoint.h:273:40: note: expected 'void (*)(void *, bool, unsigned int, struct task_struct *, struct task_struct *)' {aka 'void (*)(void *, _Bool, unsigned int, struct task_struct *, struct task_struct *)'} but argument is of type 'void (*)(void *, bool, struct task_struct *, struct task_struct *, unsigned int)' {aka 'void (*)(void *, _Bool, struct task_struct *, struct task_struct *, unsigned int)'} 273 | unregister_trace_##name(void (*probe)(data_proto), void *data) \ | ~~~~~~~^~~~~~~~~~~~~~~~~~ include/linux/tracepoint.h:419:9: note: in expansion of macro '__DECLARE_TRACE' 419 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \ | ^~~~~~~~~~~~~~~ include/linux/tracepoint.h:553:9: note: in expansion of macro 'DECLARE_TRACE' 553 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args)) | ^~~~~~~~~~~~~ include/trace/events/sched.h:222:1: note: in expansion of macro 'TRACE_EVENT' 222 | TRACE_EVENT(sched_switch, | ^~~~~~~~~~~ kernel/trace/rv/monitors/wwnr/wwnr.c: At top level: >> kernel/trace/rv/monitors/wwnr/wwnr.c:90:5: warning: no previous prototype for 'register_wwnr' [-Wmissing-prototypes] 90 | int register_wwnr(void) | ^~~~~~~~~~~~~ >> kernel/trace/rv/monitors/wwnr/wwnr.c:96:6: warning: no previous prototype for 'unregister_wwnr' [-Wmissing-prototypes] 96 | void unregister_wwnr(void) | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/register_wwnr +90 kernel/trace/rv/monitors/wwnr/wwnr.c 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 89 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 @90 int register_wwnr(void) 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 91 { 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 92 rv_register_monitor(&rv_wwnr); 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 93 return 0; 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 94 } 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 95 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 @96 void unregister_wwnr(void) 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 97 { 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 98 if (rv_wwnr.enabled) 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 99 stop_wwnr(); 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 100 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 101 rv_unregister_monitor(&rv_wwnr); 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 102 } 13d11b21732323 Daniel Bristot de Oliveira 2022-06-16 103 -- 0-DAY CI Kernel Test Service https://01.org/lkp