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?