aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-04-15 10:29:53 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-04-15 10:29:53 -0700
commit1c6492d64646246834414964cfba9f826e7330b4 (patch)
tree535ac1b6581240eba96292433899e1c78e61d930
parent7a934f4bd7d6f9da84c8812da3ba42ee10f5778e (diff)
parent860e1c7f8b0b43fbf91b4d689adfaa13adb89452 (diff)
downloadlinux-1c6492d64646246834414964cfba9f826e7330b4.tar.gz
Merge tag 'io_uring-6.3-2023-04-14' of git://git.kernel.dk/linux
Pull io_uring fix from Jens Axboe: "Just a small tweak to when task_work needs redirection, marked for stable as well" * tag 'io_uring-6.3-2023-04-14' of git://git.kernel.dk/linux: io_uring: complete request via task work in case of DEFER_TASKRUN
-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 2a8b8c304d2ab1..4a865f0e85d0b8 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -998,7 +998,7 @@ static void __io_req_complete_post(struct io_kiocb *req)
void io_req_complete_post(struct io_kiocb *req, unsigned issue_flags)
{
- if (req->ctx->task_complete && (issue_flags & IO_URING_F_IOWQ)) {
+ if (req->ctx->task_complete && req->ctx->submitter_task != current) {
req->io_task_work.func = io_req_task_complete;
io_req_task_work_add(req);
} else if (!(issue_flags & IO_URING_F_UNLOCKED) ||