summaryrefslogtreecommitdiff
path: root/io_uring/io_uring.c
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2024-03-19 01:00:33 +0300
committerJens Axboe <axboe@kernel.dk>2024-04-15 17:10:24 +0300
commit23fbdde6205d9351bb52a4b8f11ec38bdbc8561a (patch)
treef484be915d7846a4152c719598bdafdc93ba768b /io_uring/io_uring.c
parent902ce82c2aa130bea5e3feca2d4ae62781865da7 (diff)
downloadlinux-23fbdde6205d9351bb52a4b8f11ec38bdbc8561a.tar.xz
io_uring: remove current check from complete_post
task_work execution is now always locked, and we shouldn't get into io_req_complete_post() from them. That means that complete_post() is always called out of the original task context and we don't even need to check current. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Tested-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/24ec27f27db0d8f58c974d8118dca1d345314ddc.1710799188.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/io_uring.c')
-rw-r--r--io_uring/io_uring.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index 77e26b037fdd..a0073625ff16 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -972,7 +972,7 @@ void io_req_complete_post(struct io_kiocb *req, unsigned issue_flags)
{
struct io_ring_ctx *ctx = req->ctx;
- if (ctx->task_complete && ctx->submitter_task != current) {
+ if (ctx->task_complete) {
req->io_task_work.func = io_req_task_complete;
io_req_task_work_add(req);
} else if (!(issue_flags & IO_URING_F_UNLOCKED) ||