From ff5771613cd7b3a76cd16cb54aa81d30d3c11d48 Mon Sep 17 00:00:00 2001
From: Pavel Begunkov <asml.silence@gmail.com>
Date: Tue, 20 Oct 2020 23:50:27 +0100
Subject: [PATCH] io_uring: don't reuse linked_timeout

Clear linked_timeout for next requests in __io_queue_sqe() so we won't
queue it up unnecessary when it's going to be punted.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Cc: stable@vger.kernel.org # v5.9
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---
 fs/io_uring.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index aeef02b0cf128..8fffcf4eefb16 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -6237,8 +6237,10 @@ static void __io_queue_sqe(struct io_kiocb *req, struct io_comp_state *cs)
 	if (nxt) {
 		req = nxt;
 
-		if (req->flags & REQ_F_FORCE_ASYNC)
+		if (req->flags & REQ_F_FORCE_ASYNC) {
+			linked_timeout = NULL;
 			goto punt;
+		}
 		goto again;
 	}
 exit:
-- 
GitLab