diff --git a/fs/io_uring.c b/fs/io_uring.c index 6dd523adacab836db437c44c55d24b9f62d8a0da..a6cd6b3ac4f694e08f946101244fa35f7a2d5284 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -1565,10 +1565,11 @@ static void io_sq_wq_submit_work(struct work_struct *work) break; cond_resched(); } while (1); - - /* drop submission reference */ - io_put_req(req); } + + /* drop submission reference */ + io_put_req(req); + if (ret) { io_cqring_add_event(ctx, sqe->user_data, ret, 0); io_put_req(req);