io_uring: fix io_prep_async_link locking
authorPavel Begunkov <asml.silence@gmail.com>
Mon, 26 Jul 2021 13:14:31 +0000 (14:14 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 26 Jul 2021 14:58:04 +0000 (08:58 -0600)
commit44eff40a32e8f5228ae041006352e32638ad2368
tree4cf9efc5d01517033f807345b27674e137fba238
parent991468dcf198bb87f24da330676724a704912b47
io_uring: fix io_prep_async_link locking

io_prep_async_link() may be called after arming a linked timeout,
automatically making it unsafe to traverse the linked list. Guard
with completion_lock if there was a linked timeout.

Cc: stable@vger.kernel.org # 5.9+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/93f7c617e2b4f012a2a175b3dab6bc2f27cebc48.1627304436.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c