diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 8e53b93eeb180e9b22a04ef33a57c1cbde5737d8..8489f1820ad977891fa0967fafecb390a33541d9 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -1039,7 +1039,7 @@ __cold bool __io_alloc_req_refill(struct io_ring_ctx *ctx) { gfp_t gfp = GFP_KERNEL | __GFP_NOWARN; void *reqs[IO_REQ_ALLOC_BATCH]; - int ret, i; + int ret; /* * If we have more than a batch's worth of requests in our IRQ side @@ -1066,8 +1066,8 @@ __cold bool __io_alloc_req_refill(struct io_ring_ctx *ctx) } percpu_ref_get_many(&ctx->refs, ret); - for (i = 0; i < ret; i++) { - struct io_kiocb *req = reqs[i]; + while (ret--) { + struct io_kiocb *req = reqs[ret]; io_preinit_req(req, ctx); io_req_add_to_cache(req, ctx);