[PATCH 5.9 72/74] io_uring: dont reuse linked_timeout

Greg Kroah-Hartman
2020-10-31T11:46:15Z

From: Pavel Begunkov <asml.silence@gmail.com>

commit ff5771613cd7b3a76cd16cb54aa81d30d3c11d48 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
fs/io_uring.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -6249,8 +6249,10 @@ err:
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;
}