]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
io_uring/kbuf: account ring io_buffer_list memory
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 13 May 2025 17:26:46 +0000 (18:26 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 13 May 2025 20:45:47 +0000 (14:45 -0600)
Follow the non-ringed pbuf struct io_buffer_list allocations and account
it against the memcg. There is low chance of that being an actual
problem as ring provided buffer should either pin user memory or
allocate it, which is already accounted.

Cc: stable@vger.kernel.org # 6.1
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/3985218b50d341273cafff7234e1a7e6d0db9808.1747150490.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/kbuf.c

index 1cf0d2c01287fb563bebb16bbab7ed0a4f12c738..446207db1edfb8e0506aabb95e64e79602111ff5 100644 (file)
@@ -621,7 +621,7 @@ int io_register_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg)
                io_destroy_bl(ctx, bl);
        }
 
-       free_bl = bl = kzalloc(sizeof(*bl), GFP_KERNEL);
+       free_bl = bl = kzalloc(sizeof(*bl), GFP_KERNEL_ACCOUNT);
        if (!bl)
                return -ENOMEM;