All of lore.kernel.org
 help / color / mirror / Atom feed
* [axboe:io_uring-thread-handoff 10/13] io_uring/handoff.c:307:36: error: call to undeclared function 'task_stack_page'; ISO C99 and later do not support implicit function declarations
@ 2026-09-01 12:16 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-01 12:16 UTC (permalink / raw)
  To: Jens Axboe; +Cc: llvm, oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux.git io_uring-thread-handoff
head:   e787853bf31af505ee20b5a64dd31bdaaca8bedd
commit: d664aea9c73b2f39f16192756888e0c03aa1fa28 [10/13] io_uring: enable handing submitter identity to an io-wq worker
config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20260901/202609012001.qCSj57tc-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260901/202609012001.qCSj57tc-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609012001.qCSj57tc-lkp@intel.com/

All errors (new ones prefixed by >>):

>> io_uring/handoff.c:307:36: error: call to undeclared function 'task_stack_page'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     307 |         syscall_set_return_value(current, task_pt_regs(current),
         |                                           ^
   arch/x86/include/asm/processor.h:668:39: note: expanded from macro 'task_pt_regs'
     668 |         unsigned long __ptr = (unsigned long)task_stack_page(task);     \
         |                                              ^
   1 error generated.


vim +/task_stack_page +307 io_uring/handoff.c

   250	
   251	/*
   252	 * Runs on the task that got handed the submitter identity: finish taking
   253	 * it over, then resume io_uring_enter() where io_submit_sqes() would have
   254	 * returned and take the syscall result to userspace.
   255	 */
   256	static long io_handoff_resume(void)
   257	{
   258		struct io_uring_task *tctx = current->io_uring;
   259		struct io_handoff *ho = &tctx->handoff;
   260		struct task_struct *src = ho->src;
   261		struct io_kiocb *req = ho->req;
   262		struct io_ring_ctx *ctx = req->ctx;
   263		struct io_submit_state *state = &ctx->submit_state;
   264		bool bound = io_handoff_bound(req);
   265		unsigned int consumed, left;
   266		long ret;
   267	
   268		if (WARN_ON_ONCE(thread_handoff_finish(src)))
   269			force_sig(SIGKILL);
   270		io_wq_handoff_finished(src);
   271		put_task_struct_many(src, ho->src_refs);
   272		ho->src_refs = 0;
   273		ho->src = NULL;
   274		ho->req = NULL;
   275	
   276		/* we took a worker, top the spare pool back up */
   277		io_wq_handoff_spare(tctx->io_wq, bound, true);
   278	
   279		/*
   280		 * Finish the batch the blocked request was part of, then submit
   281		 * what's left of the syscall. Another handoff continues from here,
   282		 * the consumed count lives in the tctx.
   283		 */
   284		io_run_task_work();
   285		mutex_lock(&ctx->uring_lock);
   286		consumed = ctx->cached_sq_head - state->sq_head;
   287		left = state->submit_nr - consumed;
   288		ret = io_submit_sqes_end(ctx, state->submit_nr, left);
   289		ho->consumed += ret;
   290		if (ho->consumed < ho->to_submit) {
   291			ret = io_submit_sqes(ctx, ho->to_submit - ho->consumed);
   292			if (ret == -EIOCBQUEUED)
   293				return ret;
   294			if (ret > 0)
   295				ho->consumed += ret;
   296		}
   297		ret = ho->consumed;
   298		if (ret != ho->to_submit) {
   299			mutex_unlock(&ctx->uring_lock);
   300		} else {
   301			ret = io_uring_enter_finish(ctx, ret, ho->min_complete,
   302						    ho->flags, ho->argp, ho->argsz);
   303		}
   304		if (!(ho->flags & IORING_ENTER_REGISTERED_RING))
   305			fput(ho->file);
   306	
 > 307		syscall_set_return_value(current, task_pt_regs(current),
   308					 ret < 0 ? ret : 0, ret);
   309		return ret;
   310	}
   311	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-01 12:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-01 12:16 [axboe:io_uring-thread-handoff 10/13] io_uring/handoff.c:307:36: error: call to undeclared function 'task_stack_page'; ISO C99 and later do not support implicit function declarations kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.