On Fri, 13 Nov 2020 18:02:39 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > Hi all, > > After merging the akpm tree, today's linux-next build (i386 defconfig) > failed like this: > > mm/secretmem.c: In function 'secretmem_memcg_charge': > mm/secretmem.c:72:4: error: 'struct page' has no member named 'memcg_data' > 72 | p->memcg_data = page->memcg_data; > | ^~ > mm/secretmem.c:72:23: error: 'struct page' has no member named 'memcg_data' > 72 | p->memcg_data = page->memcg_data; > | ^~ > mm/secretmem.c: In function 'secretmem_memcg_uncharge': > mm/secretmem.c:86:4: error: 'struct page' has no member named 'memcg_data' > 86 | p->memcg_data = 0; > | ^~ > > ... > > --- a/mm/secretmem.c > +++ b/mm/secretmem.c > @@ -69,7 +69,9 @@ static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order) > for (i = 1; i < nr_pages; i++) { > struct page *p = page + i; > > +#ifdef CONFIG_MEMCG > p->memcg_data = page->memcg_data; > +#endif > } > > return 0; Thanks, that'll work for now. I guess we're looking at adding a set_page_memcg() (I'd prefer page_memcg_set()). But probably these functions shouldn't be compiled at all if CONFIG_MEMCG=n.