projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
50446ac
)
io_uring: mem-account pbuf buckets
author
Pavel Begunkov
<asml.silence@gmail.com>
Thu, 4 Aug 2022 14:13:46 +0000
(15:13 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:24:31 +0000
(14:24 +0200)
commit
cc18cc5e82033d406f54144ad6f8092206004684
upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/io_uring.c
patch
|
blob
|
history
diff --git
a/fs/io_uring.c
b/fs/io_uring.c
index 9bff14c5e2b265cd56d590110666cd0e26534511..0ce1587df4322101ccae9dbe492c91dc6602def2 100644
(file)
--- a/
fs/io_uring.c
+++ b/
fs/io_uring.c
@@
-4477,7
+4477,8
@@
static int io_provide_buffers(struct io_kiocb *req, unsigned int issue_flags)
ret = io_add_buffers(p, &head);
if (ret >= 0 && !list) {
- ret = xa_insert(&ctx->io_buffers, p->bgid, head, GFP_KERNEL);
+ ret = xa_insert(&ctx->io_buffers, p->bgid, head,
+ GFP_KERNEL_ACCOUNT);
if (ret < 0)
__io_remove_buffers(ctx, head, p->bgid, -1U);
}