Messages in this thread Patch in this message | | | From | Pavel Begunkov <> | Subject | [PATCH 2/3] io_uring: check non-sync defer_list carefully | Date | Fri, 1 May 2020 17:09:37 +0300 |
| |
io_req_defer() do double-checked locking. Use proper helpers for that, i.e. list_empty_careful().
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> --- fs/io_uring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/io_uring.c b/fs/io_uring.c index e7d7e83e3d56..e5d560f2ce12 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -5028,7 +5028,7 @@ static int io_req_defer(struct io_kiocb *req, const struct io_uring_sqe *sqe) int ret; /* Still need defer if there is pending req in defer list. */ - if (!req_need_defer(req) && list_empty(&ctx->defer_list)) + if (!req_need_defer(req) && list_empty_careful(&ctx->defer_list)) return 0; if (!req->io && io_alloc_async_ctx(req)) -- 2.24.0
| |