io_uring: fix race between timeout flush and removal
authorJens Axboe <axboe@kernel.dk>
Fri, 8 Apr 2022 17:08:58 +0000 (11:08 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 8 Apr 2022 20:50:05 +0000 (14:50 -0600)
commite677edbcabee849bfdd43f1602bccbecf736a646
tree0905f8265dd119a9ea65deef565add52ba6e3766
parent4cdd158be9d09223737df83136a1fb65269d809a
io_uring: fix race between timeout flush and removal

io_flush_timeouts() assumes the timeout isn't in progress of triggering
or being removed/canceled, so it unconditionally removes it from the
timeout list and attempts to cancel it.

Leave it on the list and let the normal timeout cancelation take care
of it.

Cc: stable@vger.kernel.org # 5.5+
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c