io_uring: use io_req_task_complete() in timeout
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 23 Nov 2022 11:33:38 +0000 (11:33 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Feb 2023 07:34:41 +0000 (08:34 +0100)
[ Upstream commit 624fd779fd869bdcb2c0ccca0f09456eed71ed52 ]

Use a more generic io_req_task_complete() in timeout completion
task_work instead of io_req_complete_post().

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/bda1710b58c07bf06107421c2a65c529ea9cdcac.1669203009.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Stable-dep-of: ef5c600adb1d ("io_uring: always prep_async for drain requests")
Signed-off-by: Sasha Levin <sashal@kernel.org>
io_uring/timeout.c

index 06200fe..16b006b 100644 (file)
@@ -284,11 +284,11 @@ static void io_req_task_link_timeout(struct io_kiocb *req, bool *locked)
                        ret = io_try_cancel(req->task->io_uring, &cd, issue_flags);
                }
                io_req_set_res(req, ret ?: -ETIME, 0);
-               io_req_complete_post(req);
+               io_req_task_complete(req, locked);
                io_put_req(prev);
        } else {
                io_req_set_res(req, -ETIME, 0);
-               io_req_complete_post(req);
+               io_req_task_complete(req, locked);
        }
 }