From: Pavel Begunkov Date: Fri, 9 May 2025 11:03:43 +0000 (+0100) Subject: io_uring: add lockdep asserts to io_add_aux_cqe X-Git-Tag: v6.16-rc1~215^2~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81a22c86ec7060be43404d4e6d68fca03dbafcf4;p=thirdparty%2Flinux.git io_uring: add lockdep asserts to io_add_aux_cqe io_add_aux_cqe() can only be called for rings with uring_lock protected completion queues, add a couple of assertions in regards to that. Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/c010eab7b94a187c00a9d46d8b67bf7fcad18af4.1746788592.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 0d051476008c7..4034b1db7135a 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -848,6 +848,9 @@ bool io_post_aux_cqe(struct io_ring_ctx *ctx, u64 user_data, s32 res, u32 cflags */ void io_add_aux_cqe(struct io_ring_ctx *ctx, u64 user_data, s32 res, u32 cflags) { + lockdep_assert_held(&ctx->uring_lock); + lockdep_assert(ctx->lockless_cq); + if (!io_fill_cqe_aux(ctx, user_data, res, cflags)) { spin_lock(&ctx->completion_lock); io_cqring_event_overflow(ctx, user_data, res, cflags, 0, 0);