Commit aeaa72c6 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

io_uring: never defer-complete multi-apoll



Luckily, nnobody completes multi-apoll requests outside the polling
functions, but don't set IO_URING_F_COMPLETE_DEFER in any case as
there is nobody who is catching REQ_F_COMPLETE_INLINE, and so will leak
requests if used.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/a65ed3f5effd9321ee06e6edea294a03be3e15a0.1655310733.git.asml.silence@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 6a02e4be
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1599,7 +1599,7 @@ int io_poll_issue(struct io_kiocb *req, bool *locked)
	io_tw_lock(req->ctx, locked);
	io_tw_lock(req->ctx, locked);
	if (unlikely(req->task->flags & PF_EXITING))
	if (unlikely(req->task->flags & PF_EXITING))
		return -EFAULT;
		return -EFAULT;
	return io_issue_sqe(req, IO_URING_F_NONBLOCK|IO_URING_F_COMPLETE_DEFER);
	return io_issue_sqe(req, IO_URING_F_NONBLOCK);
}
}


struct io_wq_work *io_wq_free_work(struct io_wq_work *work)
struct io_wq_work *io_wq_free_work(struct io_wq_work *work)