From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2808835036591413439==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [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 Date: Thu, 18 Mar 2021 10:19:28 +0800 Message-ID: <202103181024.RrdRwxXA-lkp@intel.com> List-Id: --===============2808835036591413439== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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 ta= ke uring_lock during iowq cancel config: nios2-defconfig (attached as .config) compiler: nios2-linux-gcc (GCC) 9.3.0 reproduce (this is a W=3D1 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-stab= le.git/commit/?id=3D28095f9cb8c185be018e34390a9cbdd5a39648d7 git remote add sashal-linux-stable https://git.kernel.org/pub/scm/l= inux/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=3D$HOME/0day COMPILER=3Dgcc-9.3.0 make.cross = ARCH=3Dnios2 = If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot 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 u= se in this function); did you mean 'IO_WQ_WORK_CANCEL'? 4283 | req->work.flags |=3D 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_ta= sk_work_add_fallback'; did you mean 'io_req_task_work_add'? [-Werror=3Dimpl= icit-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 returni= ng non-void [-Werror=3Dreturn-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 *w= ork) | ^~~~~~~~~~~~~~~~~ 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 =3D container_of(work, struct io_kiocb, work); 6097 struct io_kiocb *timeout; 6098 int ret =3D 0; 6099 = 6100 timeout =3D 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 =3D 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 !=3D -EAGAIN) 6121 break; 6122 cond_resched(); 6123 } while (1); 6124 } 6125 = 6126 if (ret) { 6127 struct io_ring_ctx *lock_ctx =3D NULL; 6128 = 6129 if (req->ctx->flags & IORING_SETUP_IOPOLL) 6130 lock_ctx =3D 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 --===============2808835036591413439== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 AA== --===============2808835036591413439==--