[dhowells-fs:netfs-fixes 4/4] fs/netfs/rolling_buffer.c:30:7: error: call to undeclared function 'mempool_alloc'; ISO C99 and later do not support implicit function declarations

kernel test robot <[email protected]> Sun, 26 Jul 2026 17:26:49 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git netfs-fixes
head:   f30eb942050fff68206625e9a9d2e84d0eb77a48
commit: f30eb942050fff68206625e9a9d2e84d0eb77a48 [4/4] netfs: Fix folio_queue ENOMEM in writeback by adding a mempool
config: i386-randconfig-141-20260726 (https://download.01.org/0day-ci/archive/20260726/[email protected]/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260726/[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
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> fs/netfs/rolling_buffer.c:30:7: error: call to undeclared function 'mempool_alloc'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      30 |         fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |              ^
>> fs/netfs/rolling_buffer.c:30:5: error: incompatible integer to pointer conversion assigning to 'struct folio_queue *' from 'int' [-Wint-conversion]
      30 |         fq = mempool_alloc(&netfs_folioq_pool, gfp);
         |            ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/netfs/rolling_buffer.c:53:2: error: call to undeclared function 'mempool_free'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
      53 |         mempool_free(folioq, &netfs_folioq_pool);
         |         ^
   3 errors generated.


vim +/mempool_alloc +30 fs/netfs/rolling_buffer.c

    15	
    16	/**
    17	 * netfs_folioq_alloc - Allocate a folio_queue struct
    18	 * @rreq_id: Associated debugging ID for tracing purposes
    19	 * @gfp: Allocation constraints
    20	 * @trace: Trace tag to indicate the purpose of the allocation
    21	 *
    22	 * Allocate, initialise and account the folio_queue struct and log a trace line
    23	 * to mark the allocation.
    24	 */
    25	struct folio_queue *netfs_folioq_alloc(unsigned int rreq_id, gfp_t gfp,
    26					       unsigned int /*enum netfs_folioq_trace*/ trace)
    27	{
    28		struct folio_queue *fq;
    29	
  > 30		fq = mempool_alloc(&netfs_folioq_pool, gfp);
    31		if (fq) {
    32			netfs_stat(&netfs_n_folioq);
    33			folioq_init(fq, rreq_id);
    34			fq->debug_id = atomic_inc_return(&debug_ids);
    35			trace_netfs_folioq(fq, trace);
    36		}
    37		return fq;
    38	}
    39	EXPORT_SYMBOL(netfs_folioq_alloc);
    40	
    41	/**
    42	 * netfs_folioq_free - Free a folio_queue struct
    43	 * @folioq: The object to free
    44	 * @trace: Trace tag to indicate which free
    45	 *
    46	 * Free and unaccount the folio_queue struct.
    47	 */
    48	void netfs_folioq_free(struct folio_queue *folioq,
    49			       unsigned int /*enum netfs_trace_folioq*/ trace)
    50	{
    51		trace_netfs_folioq(folioq, trace);
    52		netfs_stat_d(&netfs_n_folioq);
  > 53		mempool_free(folioq, &netfs_folioq_pool);
    54	}
    55	EXPORT_SYMBOL(netfs_folioq_free);
    56	

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