]> Gentwo Git Trees - linux/.git/commitdiff
io_uring: deduplicate array_size in io_allocate_scq_urings
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 16 Oct 2025 13:23:17 +0000 (14:23 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 20 Oct 2025 16:37:56 +0000 (10:37 -0600)
A minor cleanup precomputing the sq size first instead of branching
array_size() in io_allocate_scq_urings().

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/io_uring.c

index c397118da85e27e142941a833c7a9a2ac7a4fe18..31602e0e5f3763aae40f37543032c9b46ca97c5a 100644 (file)
@@ -3610,6 +3610,7 @@ static __cold int io_allocate_scq_urings(struct io_ring_ctx *ctx,
        struct io_uring_region_desc rd;
        struct io_rings *rings;
        size_t size, sq_array_offset;
+       size_t sqe_size;
        int ret;
 
        /* make sure these are sane, as we already accounted them */
@@ -3639,10 +3640,11 @@ static __cold int io_allocate_scq_urings(struct io_ring_ctx *ctx,
        rings->sq_ring_entries = p->sq_entries;
        rings->cq_ring_entries = p->cq_entries;
 
+       sqe_size = sizeof(struct io_uring_sqe);
        if (p->flags & IORING_SETUP_SQE128)
-               size = array_size(2 * sizeof(struct io_uring_sqe), p->sq_entries);
-       else
-               size = array_size(sizeof(struct io_uring_sqe), p->sq_entries);
+               sqe_size *= 2;
+
+       size = array_size(sqe_size, p->sq_entries);
        if (size == SIZE_MAX) {
                io_rings_free(ctx);
                return -EOVERFLOW;