* [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.