Re: [PATCH bpf] bpf: Make CONFIG_DEBUG_INFO_BTF depend upon CONFIG_BPF_SYSCALL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux