io_uring/rsrc: clear 'slot' entry upfront
authorJens Axboe <axboe@kernel.dk>
Wed, 11 Sep 2024 19:52:17 +0000 (13:52 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Sep 2024 19:52:17 +0000 (13:52 -0600)
No functional changes in this patch, but clearing the slot pointer
earlier will be required by a later change.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/rsrc.c

index 7d639a996f28732e1e27a0d1611c6f8c1b49adab..d42114845fac6c46e8893156ba7f1ef3ad40e6b9 100644 (file)
@@ -114,6 +114,7 @@ static void io_buffer_unmap(struct io_ring_ctx *ctx, struct io_mapped_ubuf **slo
        struct io_mapped_ubuf *imu = *slot;
        unsigned int i;
 
+       *slot = NULL;
        if (imu != &dummy_ubuf) {
                for (i = 0; i < imu->nr_bvecs; i++)
                        unpin_user_page(imu->bvec[i].bv_page);
@@ -121,7 +122,6 @@ static void io_buffer_unmap(struct io_ring_ctx *ctx, struct io_mapped_ubuf **slo
                        io_unaccount_mem(ctx, imu->acct_pages);
                kvfree(imu);
        }
-       *slot = NULL;
 }
 
 static void io_rsrc_put_work(struct io_rsrc_node *node)