io_uring: always arm linked timeouts prior to issue
authorJens Axboe <axboe@kernel.dk>
Sun, 4 May 2025 14:06:28 +0000 (08:06 -0600)
committerJens Axboe <axboe@kernel.dk>
Sun, 4 May 2025 15:15:58 +0000 (09:15 -0600)
commitb53e523261bf058ea4a518b482222e7a277b186b
tree8b2b9a1693416338c18406b15a0557a81b60020b
parentf024d3a8ded0d8d2129ae123d7a5305c29ca44ce
io_uring: always arm linked timeouts prior to issue

There are a few spots where linked timeouts are armed, and not all of
them adhere to the pre-arm, attempt issue, post-arm pattern. This can
be problematic if the linked request returns that it will trigger a
callback later, and does so before the linked timeout is fully armed.

Consolidate all the linked timeout handling into __io_issue_sqe(),
rather than have it spread throughout the various issue entry points.

Cc: stable@vger.kernel.org
Link: https://github.com/axboe/liburing/issues/1390
Reported-by: Chase Hiltz <chase@path.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c