diff --git a/fs/io_uring.c b/fs/io_uring.c index 80dcd4250c4c5ca562758de66c205c454ffe1b74..377123ff425fc7c77b45fe3a4db56e8d7caf3ee7 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -8750,8 +8750,6 @@ static bool __io_uring_cancel_task_requests(struct io_ring_ctx *ctx, static void io_disable_sqo_submit(struct io_ring_ctx *ctx) { - WARN_ON_ONCE(ctx->sqo_task != current); - mutex_lock(&ctx->uring_lock); ctx->sqo_dead = 1; mutex_unlock(&ctx->uring_lock); @@ -8773,6 +8771,7 @@ static void io_uring_cancel_task_requests(struct io_ring_ctx *ctx, if ((ctx->flags & IORING_SETUP_SQPOLL) && ctx->sq_data) { /* for SQPOLL only sqo_task has task notes */ + WARN_ON_ONCE(ctx->sqo_task != current); io_disable_sqo_submit(ctx); task = ctx->sq_data->thread; atomic_inc(&task->io_uring->in_idle);