On Wed, Jan 20, 2021 at 08:06:08PM +0200, Mike Rapoport wrote:
+static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp) {
- unsigned long nr_pages = (1 << PMD_PAGE_ORDER);
- struct gen_pool *pool = ctx->pool;
- unsigned long addr;
- struct page *page;
- int err;
- page = cma_alloc(secretmem_cma, nr_pages, PMD_SIZE, gfp & __GFP_NOWARN);
- if (!page)
return -ENOMEM;
Does cma_alloc() zero the pages it allocates? If not, where do we avoid leaking kernel memory to userspace?