diff --git a/fs/io_uring.c b/fs/io_uring.c index 4919f8fba3e60793940456a2e3debbb097cd2253..9c00cd6e404d5f2c4f2ab7d25f2c5583353ce588 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -2911,8 +2911,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); }