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