On Sat, 5 Mar 2022 at 15:49, Tianchen Ding <dtcccc@xxxxxxxxxxxxxxxxx> wrote: [...] > +static int kfence_init_late(void) > +{ > + const unsigned long nr_pages = KFENCE_POOL_SIZE / PAGE_SIZE; > + struct page *pages; > + > + pages = alloc_contig_pages(nr_pages, GFP_KERNEL, first_online_node, NULL); > mm/kfence/core.c:836:17: error: implicit declaration of function ‘alloc_contig_pages’ [-Werror=implicit-function-declaration] This doesn't build without CMA. See ifdef CONFIG_CONTIG_ALLOC in gfp.h, which declares alloc_contig_pages. Will alloc_pages() work as you expect? If so, perhaps only use alloc_contig_pages() #ifdef CONFIG_CONTIG_ALLOC. Thanks, -- Marco