Hi Kumar, Thank you for the patch! Yet something to improve: [auto build test ERROR on bpf/master] url: https://github.com/0day-ci/linux/commits/Kumar-Kartikeya-Dwivedi/bpf-Make-CONFIG_DEBUG_INFO_BTF-depend-upon-CONFIG_BPF_SYSCALL/20211112-100114 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master config: openrisc-buildonly-randconfig-r003-20211111 (attached as .config) compiler: or1k-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/ea181ce7046ae7f916b4ede6b04c48416d89b0b2 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Kumar-Kartikeya-Dwivedi/bpf-Make-CONFIG_DEBUG_INFO_BTF-depend-upon-CONFIG_BPF_SYSCALL/20211112-100114 git checkout ea181ce7046ae7f916b4ede6b04c48416d89b0b2 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=openrisc SHELL=/bin/bash kernel/bpf/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): kernel/bpf/btf.c: In function 'btf_seq_show': kernel/bpf/btf.c:5876:29: error: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format] 5876 | seq_vprintf((struct seq_file *)show->target, fmt, args); | ^~~~~~~~ kernel/bpf/btf.c: In function 'btf_snprintf_show': kernel/bpf/btf.c:5913:9: error: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Werror=suggest-attribute=format] 5913 | len = vsnprintf(show->target, ssnprintf->len_left, fmt, args); | ^~~ kernel/bpf/btf.c: At top level: >> kernel/bpf/btf.c:6349:8: error: redefinition of 'struct kfunc_btf_id_list' 6349 | struct kfunc_btf_id_list { | ^~~~~~~~~~~~~~~~~ In file included from include/linux/bpf_verifier.h:8, from kernel/bpf/btf.c:19: include/linux/btf.h:275:8: note: originally defined here 275 | struct kfunc_btf_id_list {}; | ^~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6399:26: error: conflicting types for 'bpf_tcp_ca_kfunc_list'; have 'struct kfunc_btf_id_list' 6399 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6395:34: note: in definition of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6395 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~ In file included from include/linux/bpf_verifier.h:8, from kernel/bpf/btf.c:19: include/linux/btf.h:276:33: note: previous declaration of 'bpf_tcp_ca_kfunc_list' with type 'struct kfunc_btf_id_list' 276 | static struct kfunc_btf_id_list bpf_tcp_ca_kfunc_list __maybe_unused; | ^~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6400:26: error: conflicting types for 'prog_test_kfunc_list'; have 'struct kfunc_btf_id_list' 6400 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6395:34: note: in definition of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6395 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~ In file included from include/linux/bpf_verifier.h:8, from kernel/bpf/btf.c:19: include/linux/btf.h:277:33: note: previous declaration of 'prog_test_kfunc_list' with type 'struct kfunc_btf_id_list' 277 | static struct kfunc_btf_id_list prog_test_kfunc_list __maybe_unused; | ^~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +6349 kernel/bpf/btf.c 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6348 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 @6349 struct kfunc_btf_id_list { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6350 struct list_head list; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6351 struct mutex mutex; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6352 }; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6353 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6354 #ifdef CONFIG_DEBUG_INFO_BTF_MODULES 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6355 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6356 void register_kfunc_btf_id_set(struct kfunc_btf_id_list *l, 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6357 struct kfunc_btf_id_set *s) 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6358 { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6359 mutex_lock(&l->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6360 list_add(&s->list, &l->list); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6361 mutex_unlock(&l->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6362 } 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6363 EXPORT_SYMBOL_GPL(register_kfunc_btf_id_set); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6364 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6365 void unregister_kfunc_btf_id_set(struct kfunc_btf_id_list *l, 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6366 struct kfunc_btf_id_set *s) 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6367 { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6368 mutex_lock(&l->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6369 list_del_init(&s->list); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6370 mutex_unlock(&l->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6371 } 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6372 EXPORT_SYMBOL_GPL(unregister_kfunc_btf_id_set); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6373 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6374 bool bpf_check_mod_kfunc_call(struct kfunc_btf_id_list *klist, u32 kfunc_id, 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6375 struct module *owner) 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6376 { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6377 struct kfunc_btf_id_set *s; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6378 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6379 if (!owner) 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6380 return false; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6381 mutex_lock(&klist->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6382 list_for_each_entry(s, &klist->list, list) { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6383 if (s->owner == owner && btf_id_set_contains(s->set, kfunc_id)) { 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6384 mutex_unlock(&klist->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6385 return true; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6386 } 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6387 } 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6388 mutex_unlock(&klist->mutex); 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6389 return false; 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6390 } 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6391 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6392 #endif 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6393 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6394 #define DEFINE_KFUNC_BTF_ID_LIST(name) \ 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6395 struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6396 __MUTEX_INITIALIZER(name.mutex) }; \ 14f267d95fe4b08 Kumar Kartikeya Dwivedi 2021-10-02 6397 EXPORT_SYMBOL_GPL(name) 0e32dfc80bae53b Kumar Kartikeya Dwivedi 2021-10-02 6398 0e32dfc80bae53b Kumar Kartikeya Dwivedi 2021-10-02 @6399 DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); c48e51c8b07aba8 Kumar Kartikeya Dwivedi 2021-10-02 @6400 DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip