include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2f1baf1fc8929e6c48370be543ad028ac7ad4131
commit: 9eca087deb0b35f3170109a9630a6c5c06c2e222 sched_ext: Sub-allocator over kernel-claimed BPF arena pages
date:   3 months ago
config: parisc-randconfig-001-20260815 (https://download.01.org/0day-ci/archive/20260815/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260815/[email protected]/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
| Fixes: 9eca087deb0b ("sched_ext: Sub-allocator over kernel-claimed BPF arena pages")
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_scan_prog':
   kernel/sched/ext.c:7937: undefined reference to `bpf_prog_arena'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_free':
>> include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_init':
   kernel/sched/ext_arena.c:29: undefined reference to `gen_pool_create'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_destroy':
   kernel/sched/ext_arena.c:57: undefined reference to `gen_pool_for_each_chunk'
   hppa-linux-ld: kernel/sched/ext_arena.c:58: undefined reference to `gen_pool_destroy'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_alloc_algo':
>> include/linux/genalloc.h:139: undefined reference to `gen_pool_alloc_algo_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `gen_pool_free':
>> include/linux/genalloc.h:173: undefined reference to `gen_pool_free_owner'
   hppa-linux-ld: kernel/sched/build_policy.o: in function `scx_arena_pool_init':
   kernel/sched/ext_arena.c:29: undefined reference to `gen_pool_create'


vim +173 include/linux/genalloc.h

795ee30648c7085 Dan Williams   2019-06-13  135  
795ee30648c7085 Dan Williams   2019-06-13  136  static inline unsigned long gen_pool_alloc_algo(struct gen_pool *pool,
795ee30648c7085 Dan Williams   2019-06-13  137  		size_t size, genpool_algo_t algo, void *data)
795ee30648c7085 Dan Williams   2019-06-13  138  {
795ee30648c7085 Dan Williams   2019-06-13 @139  	return gen_pool_alloc_algo_owner(pool, size, algo, data, NULL);
795ee30648c7085 Dan Williams   2019-06-13  140  }
795ee30648c7085 Dan Williams   2019-06-13  141  
795ee30648c7085 Dan Williams   2019-06-13  142  /**
795ee30648c7085 Dan Williams   2019-06-13  143   * gen_pool_alloc - allocate special memory from the pool
795ee30648c7085 Dan Williams   2019-06-13  144   * @pool: pool to allocate from
795ee30648c7085 Dan Williams   2019-06-13  145   * @size: number of bytes to allocate from the pool
795ee30648c7085 Dan Williams   2019-06-13  146   *
795ee30648c7085 Dan Williams   2019-06-13  147   * Allocate the requested number of bytes from the specified pool.
795ee30648c7085 Dan Williams   2019-06-13  148   * Uses the pool allocation function (with first-fit algorithm by default).
795ee30648c7085 Dan Williams   2019-06-13  149   * Can not be used in NMI handler on architectures without
795ee30648c7085 Dan Williams   2019-06-13  150   * NMI-safe cmpxchg implementation.
795ee30648c7085 Dan Williams   2019-06-13  151   */
795ee30648c7085 Dan Williams   2019-06-13  152  static inline unsigned long gen_pool_alloc(struct gen_pool *pool, size_t size)
795ee30648c7085 Dan Williams   2019-06-13  153  {
795ee30648c7085 Dan Williams   2019-06-13  154  	return gen_pool_alloc_algo(pool, size, pool->algo, pool->data);
795ee30648c7085 Dan Williams   2019-06-13  155  }
795ee30648c7085 Dan Williams   2019-06-13  156  
684f0d3d14f2744 Nicolin Chen   2013-11-12  157  extern void *gen_pool_dma_alloc(struct gen_pool *pool, size_t size,
684f0d3d14f2744 Nicolin Chen   2013-11-12  158  		dma_addr_t *dma);
cf394fc5f7155c2 Fredrik Noring 2019-06-25  159  extern void *gen_pool_dma_alloc_algo(struct gen_pool *pool, size_t size,
cf394fc5f7155c2 Fredrik Noring 2019-06-25  160  		dma_addr_t *dma, genpool_algo_t algo, void *data);
cf394fc5f7155c2 Fredrik Noring 2019-06-25  161  extern void *gen_pool_dma_alloc_align(struct gen_pool *pool, size_t size,
cf394fc5f7155c2 Fredrik Noring 2019-06-25  162  		dma_addr_t *dma, int align);
cf394fc5f7155c2 Fredrik Noring 2019-06-25  163  extern void *gen_pool_dma_zalloc(struct gen_pool *pool, size_t size, dma_addr_t *dma);
cf394fc5f7155c2 Fredrik Noring 2019-06-25  164  extern void *gen_pool_dma_zalloc_algo(struct gen_pool *pool, size_t size,
cf394fc5f7155c2 Fredrik Noring 2019-06-25  165  		dma_addr_t *dma, genpool_algo_t algo, void *data);
cf394fc5f7155c2 Fredrik Noring 2019-06-25  166  extern void *gen_pool_dma_zalloc_align(struct gen_pool *pool, size_t size,
cf394fc5f7155c2 Fredrik Noring 2019-06-25  167  		dma_addr_t *dma, int align);
795ee30648c7085 Dan Williams   2019-06-13  168  extern void gen_pool_free_owner(struct gen_pool *pool, unsigned long addr,
795ee30648c7085 Dan Williams   2019-06-13  169  		size_t size, void **owner);
795ee30648c7085 Dan Williams   2019-06-13  170  static inline void gen_pool_free(struct gen_pool *pool, unsigned long addr,
795ee30648c7085 Dan Williams   2019-06-13  171                  size_t size)
795ee30648c7085 Dan Williams   2019-06-13  172  {
795ee30648c7085 Dan Williams   2019-06-13 @173  	gen_pool_free_owner(pool, addr, size, NULL);
795ee30648c7085 Dan Williams   2019-06-13  174  }
795ee30648c7085 Dan Williams   2019-06-13  175  

:::::: The code at line 173 was first introduced by commit
:::::: 795ee30648c708502da9df637f83c33361d68dcc lib/genalloc: introduce chunk owners

:::::: TO: Dan Williams <[email protected]>
:::::: CC: Linus Torvalds <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.