Message ID | 9ce557af28d199cb03cd24db65fad6579a2e9c2b.1655213915.git.asml.silence@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | 5.20 cleanups and poll optimisations | expand |
On 6/14/22 22:36, Pavel Begunkov wrote: > 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: Pavel Begunkov <asml.silence@gmail.com> > --- > io_uring/io_uring.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c > index d895f70977b0..1fb93fdcfbab 100644 > --- a/io_uring/io_uring.c > +++ b/io_uring/io_uring.c > @@ -2149,7 +2149,7 @@ int io_poll_issue(struct io_kiocb *req, bool *locked) > io_tw_lock(req->ctx, locked); > if (unlikely(req->task->flags & PF_EXITING)) > 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) Good catch! Thanks.
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index d895f70977b0..1fb93fdcfbab 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2149,7 +2149,7 @@ int io_poll_issue(struct io_kiocb *req, bool *locked) io_tw_lock(req->ctx, locked); if (unlikely(req->task->flags & PF_EXITING)) 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)
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: Pavel Begunkov <asml.silence@gmail.com> --- io_uring/io_uring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)