From: Pavel Begunkov Date: Tue, 30 Jun 2020 12:20:41 +0000 (+0300) Subject: io_uring: fix NULL mm in io_poll_task_func() X-Git-Tag: v5.9-rc1~212^2~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea1164e574e9af0a15ab730ead0861a4c7724142;p=thirdparty%2Fkernel%2Fstable.git io_uring: fix NULL mm in io_poll_task_func() io_poll_task_func() hand-coded link submission forgetting to set TASK_RUNNING, acquire mm, etc. Call existing helper for that, i.e. __io_req_task_submit(). Signed-off-by: Pavel Begunkov Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index 43419f5bef8cd..2c17c2613205b 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -4518,13 +4518,8 @@ static void io_poll_task_func(struct callback_head *cb) struct io_kiocb *nxt = NULL; io_poll_task_handler(req, &nxt); - if (nxt) { - struct io_ring_ctx *ctx = nxt->ctx; - - mutex_lock(&ctx->uring_lock); - __io_queue_sqe(nxt, NULL, NULL); - mutex_unlock(&ctx->uring_lock); - } + if (nxt) + __io_req_task_submit(nxt); } static int io_poll_double_wake(struct wait_queue_entry *wait, unsigned mode,