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>
This commit is contained in:
Pavel Begunkov 2022-08-04 15:13:46 +01:00 коммит произвёл Jens Axboe
Родитель f482aa9865
Коммит cc18cc5e82
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -436,7 +436,7 @@ int io_provide_buffers(struct io_kiocb *req, unsigned int issue_flags)
bl = io_buffer_get_list(ctx, p->bgid); bl = io_buffer_get_list(ctx, p->bgid);
if (unlikely(!bl)) { if (unlikely(!bl)) {
bl = kzalloc(sizeof(*bl), GFP_KERNEL); bl = kzalloc(sizeof(*bl), GFP_KERNEL_ACCOUNT);
if (!bl) { if (!bl) {
ret = -ENOMEM; ret = -ENOMEM;
goto err; goto err;