From: Yang Yang <yang.yang29@xxxxxxxxxx> shmem_add_to_page_cache() use THP_FILE_FALLBACK even if CONFIG_TRANSPARENT_HUGEPAGE is not set and triggers this compile error. Add ifdef CONFIG_TRANSPARENT_HUGEPAGE in shmem_add_to_page_cache(). In file included from <command-line>: mm/shmem.c: In function ‘shmem_add_to_page_cache’: ././include/linux/compiler_types.h:352:38: error: call to ‘__compiletime_assert_327’ declared with attribute error: BUILD_BUG failed 352 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ ././include/linux/compiler_types.h:333:4: note: in definition of macro ‘__compiletime_assert’ 333 | prefix ## suffix(); \ | ^~~~~~ ././include/linux/compiler_types.h:352:2: note: in expansion of macro ‘_compiletime_assert’ 352 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’ 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ ./include/linux/build_bug.h:59:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ 59 | #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ^~~~~~~~~~~~~~~~ ./include/linux/vm_event_item.h:148:30: note: in expansion of macro ‘BUILD_BUG’ 148 | #define THP_FILE_FALLBACK ({ BUILD_BUG(); 0; }) | ^~~~~~~~~ mm/shmem.c:721:20: note: in expansion of macro ‘THP_FILE_FALLBACK’ 721 | count_vm_event(THP_FILE_FALLBACK); | ^~~~~~~~~~~~~~~~~ CC arch/x86/events/intel/p4.o make[1]: *** [scripts/Makefile.build:288: mm/shmem.o] Error 1 make: *** [Makefile:1997: mm] Error 2 make: *** Waiting for unfinished jobs.... Signed-off-by: Yang Yang <yang.yang29@xxxxxxxxxx> Reported-by: Zeal Robot <zealci@xxxxxxxxxx> --- mm/shmem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mm/shmem.c b/mm/shmem.c index 107f1e4dd0aa..f01ceedf88c0 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -717,10 +717,12 @@ static int shmem_add_to_page_cache(struct folio *folio, if (!folio_test_swapcache(folio)) { error = mem_cgroup_charge(folio, charge_mm, gfp); if (error) { +#ifdef CONFIG_TRANSPARENT_HUGEPAGE if (folio_test_large(folio)) { count_vm_event(THP_FILE_FALLBACK); count_vm_event(THP_FILE_FALLBACK_CHARGE); } +#endif goto error; } } -- 2.25.1