From: kernel test robot <lkp@intel.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [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
Date: Tue, 01 Sep 2026 20:16:22 +0800 [thread overview]
Message-ID: <202609012001.qCSj57tc-lkp@intel.com> (raw)
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
reply other threads:[~2026-09-01 12:16 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202609012001.qCSj57tc-lkp@intel.com \
--to=lkp@intel.com \
--cc=axboe@kernel.dk \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.