diff --git a/fs/io_uring.c b/fs/io_uring.c index 226e9f123f654685b98187af037920c1a29df4cb..da61eeaf64e88e636e5ff61f5a9895e9f3368a23 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -5925,8 +5925,8 @@ static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer) if (!list_empty(&req->link_list)) { prev = list_entry(req->link_list.prev, struct io_kiocb, link_list); + list_del_init(&req->link_list); if (refcount_inc_not_zero(&prev->refs)) { - list_del_init(&req->link_list); prev->flags &= ~REQ_F_LINK_TIMEOUT; } else prev = NULL;