io_uring: pass ctx to io_register_free_rings
authorPavel Begunkov <asml.silence@gmail.com>
Fri, 29 Nov 2024 13:34:33 +0000 (13:34 +0000)
committerJens Axboe <axboe@kernel.dk>
Mon, 23 Dec 2024 15:17:16 +0000 (08:17 -0700)
A preparation patch, pass the context to io_register_free_rings.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/c1865fd2b3d4db22d1a1aac7dd06ea22cb990834.1732886067.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/register.c

index 8c19fbe84808c00d5574de72b6e129a6bec52f2c..43dd6688a464dbdd85c8502781bffac7291bac48 100644 (file)
@@ -375,7 +375,8 @@ struct io_ring_ctx_rings {
        struct io_rings *rings;
 };
 
-static void io_register_free_rings(struct io_uring_params *p,
+static void io_register_free_rings(struct io_ring_ctx *ctx,
+                                  struct io_uring_params *p,
                                   struct io_ring_ctx_rings *r)
 {
        if (!(p->flags & IORING_SETUP_NO_MMAP)) {
@@ -455,7 +456,7 @@ static int io_register_resize_rings(struct io_ring_ctx *ctx, void __user *arg)
        n.rings->cq_ring_entries = p.cq_entries;
 
        if (copy_to_user(arg, &p, sizeof(p))) {
-               io_register_free_rings(&p, &n);
+               io_register_free_rings(ctx, &p, &n);
                return -EFAULT;
        }
 
@@ -464,7 +465,7 @@ static int io_register_resize_rings(struct io_ring_ctx *ctx, void __user *arg)
        else
                size = array_size(sizeof(struct io_uring_sqe), p.sq_entries);
        if (size == SIZE_MAX) {
-               io_register_free_rings(&p, &n);
+               io_register_free_rings(ctx, &p, &n);
                return -EOVERFLOW;
        }
 
@@ -475,7 +476,7 @@ static int io_register_resize_rings(struct io_ring_ctx *ctx, void __user *arg)
                                        p.sq_off.user_addr,
                                        size);
        if (IS_ERR(ptr)) {
-               io_register_free_rings(&p, &n);
+               io_register_free_rings(ctx, &p, &n);
                return PTR_ERR(ptr);
        }
 
@@ -565,7 +566,7 @@ overflow:
 out:
        spin_unlock(&ctx->completion_lock);
        mutex_unlock(&ctx->mmap_lock);
-       io_register_free_rings(&p, to_free);
+       io_register_free_rings(ctx, &p, to_free);
 
        if (ctx->sq_data)
                io_sq_thread_unpark(ctx->sq_data);