]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
Merge tag 'io_uring-6.0-2022-09-23' of git://git.kernel.dk/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 24 Sep 2022 15:27:08 +0000 (08:27 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 24 Sep 2022 15:27:08 +0000 (08:27 -0700)
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

io_uring/io_uring.c

index b9640ad5069f3127bfbd9961c56a96147d9f2ad7..2965b354efc8e2745e3f9589511fc5cbe515a313 100644 (file)
@@ -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);