projects/linux·commit 3db61221

Merge tag 'io_uring-6.0-2022-09-23' of git://git.kernel.dk/linux

3db61221 · Linus Torvalds <[email protected]> · 2022-09-24 08:27:08 -07:00

Pull io_uring fix from Jens Axboe:
 "Just a single fix for an issue with un-reaped IOPOLL requests on ring
  exit"

* tag 'io_uring-6.0-2022-09-23' of git://git.kernel.dk/linux:
  io_uring: ensure that cached task references are always put on exit
Commit
3db61221f4e8f18d1dd6e45dbe9e3702ff2d67ab
Parents
0be27f7b · e775f93f

Merge commit. Changes below are compared with the first parent: 0be27f7b.

Changes

1 files changed · +3 −0

FileStatusAddDelContent
io_uring/io_uring.cmodified+3−0View file

io_uring/io_uring.c

View file
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index b9640ad..2965b35 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -2648,6 +2648,9 @@ static __cold void io_ring_ctx_wait_and_kill(struct io_ring_ctx *ctx)
io_kill_timeouts(ctx, NULL, true);
/* if we failed setting up the ctx, we might not have any rings */
io_iopoll_try_reap_events(ctx);
+ /* drop cached put refs after potentially doing completions */
+ if (current->io_uring)
+ io_uring_drop_tctx_refs(current);
}
INIT_WORK(&ctx->exit_work, io_ring_exit_work);