All of lore.kernel.org
 help / color / mirror / Atom feed
* [sashal-linux-stable:queue-5.10 46/74] fs/io_uring.c:6108:3: error: implicit declaration of function 'io_req_task_work_add_fallback'; did you mean
@ 2021-03-18  2:19 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-18  2:19 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 4777 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-5.10
head:   9ced6633127bd25a94939777d9ecda54800859fc
commit: 28095f9cb8c185be018e34390a9cbdd5a39648d7 [46/74] io_uring: don't take uring_lock during iowq cancel
config: nios2-defconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/commit/?id=28095f9cb8c185be018e34390a9cbdd5a39648d7
        git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
        git fetch --no-tags sashal-linux-stable queue-5.10
        git checkout 28095f9cb8c185be018e34390a9cbdd5a39648d7
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   fs/io_uring.c: In function 'io_prep_async_work':
   fs/io_uring.c:1431:22: warning: variable 'id' set but not used [-Wunused-but-set-variable]
    1431 |  struct io_identity *id;
         |                      ^~
   fs/io_uring.c: In function 'io_close':
   fs/io_uring.c:4283:22: error: 'IO_WQ_WORK_NO_CANCEL' undeclared (first use in this function); did you mean 'IO_WQ_WORK_CANCEL'?
    4283 |   req->work.flags |= IO_WQ_WORK_NO_CANCEL;
         |                      ^~~~~~~~~~~~~~~~~~~~
         |                      IO_WQ_WORK_CANCEL
   fs/io_uring.c:4283:22: note: each undeclared identifier is reported only once for each function it appears in
   fs/io_uring.c: In function 'io_wq_submit_work':
>> fs/io_uring.c:6108:3: error: implicit declaration of function 'io_req_task_work_add_fallback'; did you mean 'io_req_task_work_add'? [-Werror=implicit-function-declaration]
    6108 |   io_req_task_work_add_fallback(req, io_req_task_cancel);
         |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |   io_req_task_work_add
   fs/io_uring.c:6109:3: error: 'return' with no value, in function returning non-void [-Werror=return-type]
    6109 |   return;
         |   ^~~~~~
   fs/io_uring.c:6094:27: note: declared here
    6094 | static struct io_wq_work *io_wq_submit_work(struct io_wq_work *work)
         |                           ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +6108 fs/io_uring.c

  6093	
  6094	static struct io_wq_work *io_wq_submit_work(struct io_wq_work *work)
  6095	{
  6096		struct io_kiocb *req = container_of(work, struct io_kiocb, work);
  6097		struct io_kiocb *timeout;
  6098		int ret = 0;
  6099	
  6100		timeout = io_prep_linked_timeout(req);
  6101		if (timeout)
  6102			io_queue_linked_timeout(timeout);
  6103	
  6104		if (work->flags & IO_WQ_WORK_CANCEL) {
  6105			/* io-wq is going to take down one */
  6106			refcount_inc(&req->refs);
  6107			percpu_ref_get(&req->ctx->refs);
> 6108			io_req_task_work_add_fallback(req, io_req_task_cancel);
  6109			return;
  6110		}
  6111	
  6112		if (!ret) {
  6113			do {
  6114				ret = io_issue_sqe(req, false, NULL);
  6115				/*
  6116				 * We can get EAGAIN for polled IO even though we're
  6117				 * forcing a sync submission from here, since we can't
  6118				 * wait for request slots on the block side.
  6119				 */
  6120				if (ret != -EAGAIN)
  6121					break;
  6122				cond_resched();
  6123			} while (1);
  6124		}
  6125	
  6126		if (ret) {
  6127			struct io_ring_ctx *lock_ctx = NULL;
  6128	
  6129			if (req->ctx->flags & IORING_SETUP_IOPOLL)
  6130				lock_ctx = req->ctx;
  6131	
  6132			/*
  6133			 * io_iopoll_complete() does not hold completion_lock to
  6134			 * complete polled io, so here for polled io, we can not call
  6135			 * io_req_complete() directly, otherwise there maybe concurrent
  6136			 * access to cqring, defer_list, etc, which is not safe. Given
  6137			 * that io_iopoll_complete() is always called under uring_lock,
  6138			 * so here for polled io, we also get uring_lock to complete
  6139			 * it.
  6140			 */
  6141			if (lock_ctx)
  6142				mutex_lock(&lock_ctx->uring_lock);
  6143	
  6144			req_set_fail_links(req);
  6145			io_req_complete(req, ret);
  6146	
  6147			if (lock_ctx)
  6148				mutex_unlock(&lock_ctx->uring_lock);
  6149		}
  6150	
  6151		return io_steal_work(req);
  6152	}
  6153	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 9862 bytes --]

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

only message in thread, other threads:[~2021-03-18  2:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-18  2:19 [sashal-linux-stable:queue-5.10 46/74] fs/io_uring.c:6108:3: error: implicit declaration of function 'io_req_task_work_add_fallback'; did you mean 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.