diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index b0e47fe1eb4bb..e15abe26a0e61 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2240,7 +2240,9 @@ static const struct io_uring_sqe *io_get_sqe(struct io_ring_ctx *ctx) } /* drop invalid entries */ + spin_lock(&ctx->completion_lock); ctx->cq_extra--; + spin_unlock(&ctx->completion_lock); WRITE_ONCE(ctx->rings->sq_dropped, READ_ONCE(ctx->rings->sq_dropped) + 1); return NULL;