Allow timeouts to defer completions if the ring is locked Signed-off-by: Dylan Yudaken <dylany@xxxxxxxx> --- io_uring/timeout.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/io_uring/timeout.c b/io_uring/timeout.c index e8a8c2099480..26b61e62aa9a 100644 --- a/io_uring/timeout.c +++ b/io_uring/timeout.c @@ -282,12 +282,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_put_req(prev); } else { io_req_set_res(req, -ETIME, 0); - io_req_complete_post(req); } + io_req_task_complete(req, locked); } static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer) -- 2.30.2