Re: [PATCH 2/3] bpf: do not walk twice the hash map on free

From: kernel test robot
Date: Thu Apr 25 2024 - 19:10:36 EST


Hi Benjamin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 52578f7f53ff8fe3a8f6f3bc8b5956615c07a16e]

url: https://github.com/intel-lab-lkp/linux/commits/Benjamin-Tissoires/bpf-do-not-walk-twice-the-map-on-free/20240425-220322
base: 52578f7f53ff8fe3a8f6f3bc8b5956615c07a16e
patch link: https://lore.kernel.org/r/20240425-bpf-next-v1-2-1d8330e6c643%40kernel.org
patch subject: [PATCH 2/3] bpf: do not walk twice the hash map on free
config: arc-randconfig-002-20240426 (https://download.01.org/0day-ci/archive/20240426/202404260653.ULrCGrp2-lkp@xxxxxxxxx/config)
compiler: arc-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240426/202404260653.ULrCGrp2-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/202404260653.ULrCGrp2-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> kernel/bpf/hashtab.c:243:13: warning: 'htab_free_prealloced_wq' defined but not used [-Wunused-function]
243 | static void htab_free_prealloced_wq(struct bpf_htab *htab)
| ^~~~~~~~~~~~~~~~~~~~~~~


vim +/htab_free_prealloced_wq +243 kernel/bpf/hashtab.c

68134668c17f31 Alexei Starovoitov 2021-07-14 242
246331e3f1eac9 Benjamin Tissoires 2024-04-20 @243 static void htab_free_prealloced_wq(struct bpf_htab *htab)
246331e3f1eac9 Benjamin Tissoires 2024-04-20 244 {
246331e3f1eac9 Benjamin Tissoires 2024-04-20 245 u32 num_entries = htab->map.max_entries;
246331e3f1eac9 Benjamin Tissoires 2024-04-20 246 int i;
246331e3f1eac9 Benjamin Tissoires 2024-04-20 247
246331e3f1eac9 Benjamin Tissoires 2024-04-20 248 if (!btf_record_has_field(htab->map.record, BPF_WORKQUEUE))
246331e3f1eac9 Benjamin Tissoires 2024-04-20 249 return;
246331e3f1eac9 Benjamin Tissoires 2024-04-20 250 if (htab_has_extra_elems(htab))
246331e3f1eac9 Benjamin Tissoires 2024-04-20 251 num_entries += num_possible_cpus();
246331e3f1eac9 Benjamin Tissoires 2024-04-20 252
246331e3f1eac9 Benjamin Tissoires 2024-04-20 253 for (i = 0; i < num_entries; i++) {
246331e3f1eac9 Benjamin Tissoires 2024-04-20 254 struct htab_elem *elem;
246331e3f1eac9 Benjamin Tissoires 2024-04-20 255
246331e3f1eac9 Benjamin Tissoires 2024-04-20 256 elem = get_htab_elem(htab, i);
246331e3f1eac9 Benjamin Tissoires 2024-04-20 257 bpf_obj_free_workqueue(htab->map.record,
246331e3f1eac9 Benjamin Tissoires 2024-04-20 258 elem->key + round_up(htab->map.key_size, 8));
246331e3f1eac9 Benjamin Tissoires 2024-04-20 259 cond_resched();
246331e3f1eac9 Benjamin Tissoires 2024-04-20 260 }
246331e3f1eac9 Benjamin Tissoires 2024-04-20 261 }
246331e3f1eac9 Benjamin Tissoires 2024-04-20 262

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