io_uring: protect cq_timeouts with timeout_lock
authorPavel Begunkov <asml.silence@gmail.com>
Fri, 2 Dec 2022 17:47:22 +0000 (17:47 +0000)
committerJens Axboe <axboe@kernel.dk>
Wed, 14 Dec 2022 15:51:28 +0000 (08:51 -0700)
commitea011ee10231f5fa6cbb415007048ca0bb948baf
tree3640981922e5f9f7cc504c5ddf9db14fdb020f03
parente2ca6ba6ba0152361aa4fcbf6067db71b2c7a770
io_uring: protect cq_timeouts with timeout_lock

Read cq_timeouts in io_flush_timeouts() only after taking the
timeout_lock, as it's protected by it. There are many places where we
also grab ->completion_lock, but for instance io_timeout_fn() doesn't
and still modifies cq_timeouts.

Cc: stable@vger.kernel.org
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/9c79544dd6cf5c4018cb1bab99cf481a93ea46ef.1670002973.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/timeout.c