Re: [PATCH bpf-next v9 09/12] bpf, net: switch to dynamic registration

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

 



Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on bpf-next/master]

url:    https://github.com/intel-lab-lkp/linux/commits/thinker-li-gmail-com/bpf-refactory-struct_ops-type-initialization-to-a-function/20231102-044820
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link:    https://lore.kernel.org/r/20231101204519.677870-10-thinker.li%40gmail.com
patch subject: [PATCH bpf-next v9 09/12] bpf, net: switch to dynamic registration
config: x86_64-randconfig-013-20231102 (https://download.01.org/0day-ci/archive/20231102/202311021810.n3qVl5OS-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231102/202311021810.n3qVl5OS-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311021810.n3qVl5OS-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   ld: kernel/bpf/btf.o: in function `btf_add_struct_ops':
>> kernel/bpf/btf.c:8662: undefined reference to `bpf_struct_ops_desc_init'


vim +8662 kernel/bpf/btf.c

  8619	
  8620	static int
  8621	btf_add_struct_ops(struct btf *btf, struct bpf_struct_ops *st_ops,
  8622			   struct bpf_verifier_log *log)
  8623	{
  8624		struct btf_struct_ops_tab *tab, *new_tab;
  8625		int i, err;
  8626	
  8627		if (!btf)
  8628			return -ENOENT;
  8629	
  8630		/* Assume this function is called for a module when the module is
  8631		 * loading.
  8632		 */
  8633	
  8634		tab = btf->struct_ops_tab;
  8635		if (!tab) {
  8636			tab = kzalloc(offsetof(struct btf_struct_ops_tab, ops[4]),
  8637				      GFP_KERNEL);
  8638			if (!tab)
  8639				return -ENOMEM;
  8640			tab->capacity = 4;
  8641			btf->struct_ops_tab = tab;
  8642		}
  8643	
  8644		for (i = 0; i < tab->cnt; i++)
  8645			if (tab->ops[i].st_ops == st_ops)
  8646				return -EEXIST;
  8647	
  8648		if (tab->cnt == tab->capacity) {
  8649			new_tab = krealloc(tab,
  8650					   offsetof(struct btf_struct_ops_tab,
  8651						    ops[tab->capacity * 2]),
  8652					   GFP_KERNEL);
  8653			if (!new_tab)
  8654				return -ENOMEM;
  8655			tab = new_tab;
  8656			tab->capacity *= 2;
  8657			btf->struct_ops_tab = tab;
  8658		}
  8659	
  8660		tab->ops[btf->struct_ops_tab->cnt].st_ops = st_ops;
  8661	
> 8662		err = bpf_struct_ops_desc_init(&tab->ops[btf->struct_ops_tab->cnt], btf, log);
  8663		if (err)
  8664			return err;
  8665	
  8666		btf->struct_ops_tab->cnt++;
  8667	
  8668		return 0;
  8669	}
  8670	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[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