mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
io_uring/timeout: splice timed out link in timeout handler
A previous commit deferred this to the task_work part of it, so it could
be protected by ->uring_lock. But that's actually not necessary here,
and in fact the head clearing is not enough to make that safe. For those
two reasons, just re-instate the local splicing.
Fixes: 49ae66eb8c ("io_uring: defer linked-timeout chain splice out of hrtimer context")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
+3
-1
@@ -417,8 +417,10 @@ static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer)
|
||||
* done in io_req_task_link_timeout(), if needed.
|
||||
*/
|
||||
if (prev) {
|
||||
if (!req_ref_inc_not_zero(prev))
|
||||
if (!req_ref_inc_not_zero(prev)) {
|
||||
io_remove_next_linked(prev);
|
||||
prev = NULL;
|
||||
}
|
||||
}
|
||||
list_del(&timeout->list);
|
||||
timeout->prev = prev;
|
||||
|
||||
Reference in New Issue
Block a user