diff --git a/fs/io_uring.c b/fs/io_uring.c index 92d3cf179472ad3d5eea9993dbe2e51746660f18..85c2321d833be03e1483326e566250b9ca13ed89 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -2092,7 +2092,9 @@ static void io_req_task_cancel(struct callback_head *cb) struct io_kiocb *req = container_of(cb, struct io_kiocb, task_work); struct io_ring_ctx *ctx = req->ctx; + mutex_lock(&ctx->uring_lock); __io_req_task_cancel(req, -ECANCELED); + mutex_unlock(&ctx->uring_lock); percpu_ref_put(&ctx->refs); }