Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a997340 authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: only flush workqueues on fileset removal



We should not remove the workqueue, we just need to ensure that the
workqueues are synced. The workqueues are torn down on ctx removal.

Cc: stable@vger.kernel.org
Fixes: 6b06314c ("io_uring: add file set registration")
Reported-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 6805b32e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2866,8 +2866,12 @@ static void io_finish_async(struct io_ring_ctx *ctx)
static void io_destruct_skb(struct sk_buff *skb)
{
	struct io_ring_ctx *ctx = skb->sk->sk_user_data;
	int i;

	for (i = 0; i < ARRAY_SIZE(ctx->sqo_wq); i++)
		if (ctx->sqo_wq[i])
			flush_workqueue(ctx->sqo_wq[i]);

	io_finish_async(ctx);
	unix_destruct_scm(skb);
}