mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
io_uring: fix overflow handling regression
Because the single task locking series got reordered ahead of the
timeout and completion lock changes, two hunks inadvertently ended up
using __io_fill_cqe_req() rather than io_fill_cqe_req(). This meant
that we dropped overflow handling in those two spots. Reinstate the
correct CQE filling helper.
Fixes: f66f73421f
("io_uring: skip spinlocking for ->task_complete")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
e5f30f6fb2
commit
a8cf95f936
@ -927,7 +927,7 @@ static void __io_req_complete_post(struct io_kiocb *req)
|
||||
|
||||
io_cq_lock(ctx);
|
||||
if (!(req->flags & REQ_F_CQE_SKIP))
|
||||
__io_fill_cqe_req(ctx, req);
|
||||
io_fill_cqe_req(ctx, req);
|
||||
|
||||
/*
|
||||
* If we're the last reference to this request, add to our locked
|
||||
|
@ -1062,7 +1062,7 @@ int io_do_iopoll(struct io_ring_ctx *ctx, bool force_nonspin)
|
||||
continue;
|
||||
|
||||
req->cqe.flags = io_put_kbuf(req, 0);
|
||||
__io_fill_cqe_req(req->ctx, req);
|
||||
io_fill_cqe_req(req->ctx, req);
|
||||
}
|
||||
|
||||
if (unlikely(!nr_events))
|
||||
|
Loading…
Reference in New Issue
Block a user