}
 
 static void io_submit_flush_completions(struct io_ring_ctx *ctx)
+       __must_hold(&req->ctx->uring_lock)
 {
        struct io_comp_state *cs = &ctx->submit_state.comp;
        int i, nr = cs->nr;
 }
 
 static void __io_queue_sqe(struct io_kiocb *req)
+       __must_hold(&req->ctx->uring_lock)
 {
        struct io_kiocb *linked_timeout = io_prep_linked_timeout(req);
        int ret;
 }
 
 static inline void io_queue_sqe(struct io_kiocb *req)
+       __must_hold(&req->ctx->uring_lock)
 {
        if (unlikely(req->ctx->drain_active) && io_drain_req(req))
                return;
 
 static int io_init_req(struct io_ring_ctx *ctx, struct io_kiocb *req,
                       const struct io_uring_sqe *sqe)
+       __must_hold(&ctx->uring_lock)
 {
        struct io_submit_state *state;
        unsigned int sqe_flags;
 
 static int io_submit_sqe(struct io_ring_ctx *ctx, struct io_kiocb *req,
                         const struct io_uring_sqe *sqe)
+       __must_hold(&ctx->uring_lock)
 {
        struct io_submit_link *link = &ctx->submit_state.link;
        int ret;
 }
 
 static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr)
+       __must_hold(&ctx->uring_lock)
 {
        struct io_uring_task *tctx;
        int submitted = 0;