[tj-misc:bpf-task-local-storage-prealloc 3/3] kernel/bpf/bpf_task_storage.c:371:34: error: 'task_storage_map_ops' undeclared; did you mean 'task_storage_map_alloc'?

From: kernel test robot
Date: Sun Oct 24 2021 - 07:41:22 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git bpf-task-local-storage-prealloc
head: 5e3ad0d4a0b0732e7ebe035582d282ab752397ed
commit: 5e3ad0d4a0b0732e7ebe035582d282ab752397ed [3/3] bpf: Implement prealloc for task_local_storage
config: openrisc-randconfig-r005-20211019 (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://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git/commit/?id=5e3ad0d4a0b0732e7ebe035582d282ab752397ed
git remote add tj-misc https://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git
git fetch --no-tags tj-misc bpf-task-local-storage-prealloc
git checkout 5e3ad0d4a0b0732e7ebe035582d282ab752397ed
# 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/bpf_task_storage.c: In function 'task_storage_map_alloc':
>> kernel/bpf/bpf_task_storage.c:371:34: error: 'task_storage_map_ops' undeclared (first use in this function); did you mean 'task_storage_map_alloc'?
371 | smap->map.ops = &task_storage_map_ops;
| ^~~~~~~~~~~~~~~~~~~~
| task_storage_map_alloc
kernel/bpf/bpf_task_storage.c:371:34: note: each undeclared identifier is reported only once for each function it appears in


vim +371 kernel/bpf/bpf_task_storage.c

355
356 static struct bpf_map *task_storage_map_alloc(union bpf_attr *attr)
357 {
358 struct bpf_local_storage_map *smap;
359 int err;
360
361 smap = bpf_local_storage_map_alloc(attr);
362 if (IS_ERR(smap))
363 return ERR_CAST(smap);
364
365 if (!(attr->map_flags & BPF_F_NO_PREALLOC)) {
366 /* We're going to exercise the regular update path to populate
367 * the map for the existing tasks, which will call into map ops
368 * which is normally initialized after this function returns.
369 * Initialize it early here.
370 */
> 371 smap->map.ops = &task_storage_map_ops;
372
373 percpu_down_write(&threadgroup_rwsem);
374 list_add_tail(&smap->prealloc_node, &prealloc_smaps);
375 err = task_storage_map_populate(smap);
376 percpu_up_write(&threadgroup_rwsem);
377 if (err) {
378 bpf_local_storage_map_free(smap,
379 &bpf_task_storage_busy);
380 return ERR_PTR(err);
381 }
382 }
383
384 smap->cache_idx = bpf_local_storage_cache_idx_get(&task_cache);
385 return &smap->map;
386 }
387

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip