提交 5fa689c8 编写于 作者: J Jens Axboe 提交者: Joseph Qi

io_uring: only flush workqueues on fileset removal

commit 8a99734081775c012a4a6c442fdef0379fe52bdf upstream.

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: 6b06314c47e1 ("io_uring: add file set registration")
Reported-by: NStefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: NJens Axboe <axboe@kernel.dk>
Signed-off-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
Reviewed-by: NXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
上级 aa6eb993
...@@ -2911,8 +2911,12 @@ static void io_finish_async(struct io_ring_ctx *ctx) ...@@ -2911,8 +2911,12 @@ static void io_finish_async(struct io_ring_ctx *ctx)
static void io_destruct_skb(struct sk_buff *skb) static void io_destruct_skb(struct sk_buff *skb)
{ {
struct io_ring_ctx *ctx = skb->sk->sk_user_data; 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); unix_destruct_scm(skb);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册