diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2022-08-04 15:13:46 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-08-04 08:35:07 -0600 |
commit | cc18cc5e82033d406f54144ad6f8092206004684 (patch) | |
tree | 66af1683c85be4c829e101b68a0978f2789ceb56 | |
parent | f482aa98652795846cc55da98ebe331eb74f3d0b (diff) | |
download | linux-cc18cc5e82033d406f54144ad6f8092206004684.tar.bz2 |
io_uring: mem-account pbuf buckets
Potentially, someone may create as many pbuf bucket as there are indexes
in an xarray without any other restrictions bounding our memory usage,
put memory needed for the buckets under memory accounting.
Cc: <stable@vger.kernel.org>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/d34c452e45793e978d26e2606211ec9070d329ea.1659622312.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | io_uring/kbuf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index e538fa7cb727..a73f40a4cfe6 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -436,7 +436,7 @@ int io_provide_buffers(struct io_kiocb *req, unsigned int issue_flags) bl = io_buffer_get_list(ctx, p->bgid); if (unlikely(!bl)) { - bl = kzalloc(sizeof(*bl), GFP_KERNEL); + bl = kzalloc(sizeof(*bl), GFP_KERNEL_ACCOUNT); if (!bl) { ret = -ENOMEM; goto err; |