Hi Peter, Thank you for the patch! Yet something to improve: [auto build test ERROR on hnaz-mm/master] [also build test ERROR on arnd-asm-generic/master linus/master v5.18-rc1 next-20220405] [cannot apply to linux/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/intel-lab-lkp/linux/commits/Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20220405-100136 base: https://github.com/hnaz/linux-mm master config: ia64-buildonly-randconfig-r005-20220405 (https://download.01.org/0day-ci/archive/20220406/202204060938.eKyGvcev-lkp@xxxxxxxxx/config) compiler: ia64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/5baea0f03d347e5b13fff03af297858f1247d51a git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Peter-Xu/userfaultfd-wp-Support-shmem-and-hugetlbfs/20220405-100136 git checkout 5baea0f03d347e5b13fff03af297858f1247d51a # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from arch/ia64/include/asm/uaccess.h:40, from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from include/linux/sched/signal.h:9, from include/linux/rcuwait.h:6, from include/linux/percpu-rwsem.h:7, from include/linux/fs.h:33, from arch/ia64/kernel/sys_ia64.c:10: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/linux/hugetlb.h:14, from arch/ia64/kernel/sys_ia64.c:21: include/linux/userfaultfd_k.h: In function 'pte_marker_entry_uffd_wp': >> include/linux/userfaultfd_k.h:243:16: error: implicit declaration of function 'is_pte_marker_entry' [-Werror=implicit-function-declaration] 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:14: error: implicit declaration of function 'pte_marker_get' [-Werror=implicit-function-declaration] 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:38: error: 'PTE_MARKER_UFFD_WP' undeclared (first use in this function) 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~~~~~ include/linux/userfaultfd_k.h:244:38: note: each undeclared identifier is reported only once for each function it appears in arch/ia64/kernel/sys_ia64.c: At top level: arch/ia64/kernel/sys_ia64.c:71:1: warning: no previous prototype for 'ia64_getpriority' [-Wmissing-prototypes] 71 | ia64_getpriority (int which, int who) | ^~~~~~~~~~~~~~~~ arch/ia64/kernel/sys_ia64.c:85:1: warning: no previous prototype for 'sys_getpagesize' [-Wmissing-prototypes] 85 | sys_getpagesize (void) | ^~~~~~~~~~~~~~~ arch/ia64/kernel/sys_ia64.c:91:1: warning: no previous prototype for 'ia64_brk' [-Wmissing-prototypes] 91 | ia64_brk (unsigned long brk) | ^~~~~~~~ arch/ia64/kernel/sys_ia64.c:161:1: warning: no previous prototype for 'ia64_mremap' [-Wmissing-prototypes] 161 | ia64_mremap (unsigned long addr, unsigned long old_len, unsigned long new_len, unsigned long flags, | ^~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from arch/ia64/include/asm/uaccess.h:40, from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from kernel/fork.c:23: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/linux/hugetlb.h:14, from kernel/fork.c:52: include/linux/userfaultfd_k.h: In function 'pte_marker_entry_uffd_wp': >> include/linux/userfaultfd_k.h:243:16: error: implicit declaration of function 'is_pte_marker_entry' [-Werror=implicit-function-declaration] 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:14: error: implicit declaration of function 'pte_marker_get' [-Werror=implicit-function-declaration] 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:38: error: 'PTE_MARKER_UFFD_WP' undeclared (first use in this function) 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~~~~~ include/linux/userfaultfd_k.h:244:38: note: each undeclared identifier is reported only once for each function it appears in kernel/fork.c: At top level: kernel/fork.c:163:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes] 163 | void __weak arch_release_task_struct(struct task_struct *tsk) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/fork.c:853:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes] 853 | void __init __weak arch_task_cache_init(void) { } | ^~~~~~~~~~~~~~~~~~~~ kernel/fork.c:948:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes] 948 | int __weak arch_dup_task_struct(struct task_struct *dst, | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from include/linux/mm.h:29, from kernel/sysctl.c:23: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/linux/hugetlb.h:14, from kernel/sysctl.c:46: include/linux/userfaultfd_k.h: In function 'pte_marker_entry_uffd_wp': >> include/linux/userfaultfd_k.h:243:16: error: implicit declaration of function 'is_pte_marker_entry' [-Werror=implicit-function-declaration] 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:14: error: implicit declaration of function 'pte_marker_get' [-Werror=implicit-function-declaration] 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:38: error: 'PTE_MARKER_UFFD_WP' undeclared (first use in this function) 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~~~~~ include/linux/userfaultfd_k.h:244:38: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors -- In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from include/linux/mm.h:29, from mm/vmscan.c:15: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/linux/hugetlb.h:14, from include/linux/migrate.h:8, from mm/vmscan.c:44: include/linux/userfaultfd_k.h: In function 'pte_marker_entry_uffd_wp': >> include/linux/userfaultfd_k.h:243:16: error: implicit declaration of function 'is_pte_marker_entry' [-Werror=implicit-function-declaration] 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:14: error: implicit declaration of function 'pte_marker_get' [-Werror=implicit-function-declaration] 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:38: error: 'PTE_MARKER_UFFD_WP' undeclared (first use in this function) 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~~~~~ include/linux/userfaultfd_k.h:244:38: note: each undeclared identifier is reported only once for each function it appears in In file included from mm/vmscan.c:57: include/linux/swapops.h: At top level: >> include/linux/swapops.h:289:20: error: conflicting types for 'is_pte_marker_entry'; have 'bool(swp_entry_t)' {aka '_Bool(swp_entry_t)'} 289 | static inline bool is_pte_marker_entry(swp_entry_t entry) | ^~~~~~~~~~~~~~~~~~~ In file included from include/linux/hugetlb.h:14, from include/linux/migrate.h:8, from mm/vmscan.c:44: include/linux/userfaultfd_k.h:243:16: note: previous implicit declaration of 'is_pte_marker_entry' with type 'int()' 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ In file included from mm/vmscan.c:57: >> include/linux/swapops.h:294:26: error: conflicting types for 'pte_marker_get'; have 'pte_marker(swp_entry_t)' {aka 'long unsigned int(swp_entry_t)'} 294 | static inline pte_marker pte_marker_get(swp_entry_t entry) | ^~~~~~~~~~~~~~ In file included from include/linux/hugetlb.h:14, from include/linux/migrate.h:8, from mm/vmscan.c:44: include/linux/userfaultfd_k.h:244:14: note: previous implicit declaration of 'pte_marker_get' with type 'int()' 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from arch/ia64/include/asm/pgtable.h:153, from include/linux/pgtable.h:6, from arch/ia64/include/asm/uaccess.h:40, from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from include/linux/sched/signal.h:9, from include/linux/rcuwait.h:6, from include/linux/percpu-rwsem.h:7, from include/linux/fs.h:33, from fs/proc/meminfo.c:2: arch/ia64/include/asm/mmu_context.h: In function 'reload_context': arch/ia64/include/asm/mmu_context.h:127:48: warning: variable 'old_rr4' set but not used [-Wunused-but-set-variable] 127 | unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4; | ^~~~~~~ In file included from include/linux/hugetlb.h:14, from fs/proc/meminfo.c:6: include/linux/userfaultfd_k.h: In function 'pte_marker_entry_uffd_wp': >> include/linux/userfaultfd_k.h:243:16: error: implicit declaration of function 'is_pte_marker_entry' [-Werror=implicit-function-declaration] 243 | return is_pte_marker_entry(entry) && | ^~~~~~~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:14: error: implicit declaration of function 'pte_marker_get' [-Werror=implicit-function-declaration] 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~ >> include/linux/userfaultfd_k.h:244:38: error: 'PTE_MARKER_UFFD_WP' undeclared (first use in this function) 244 | (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); | ^~~~~~~~~~~~~~~~~~ include/linux/userfaultfd_k.h:244:38: note: each undeclared identifier is reported only once for each function it appears in fs/proc/meminfo.c: At top level: fs/proc/meminfo.c:22:28: warning: no previous prototype for 'arch_report_meminfo' [-Wmissing-prototypes] 22 | void __attribute__((weak)) arch_report_meminfo(struct seq_file *m) | ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/is_pte_marker_entry +243 include/linux/userfaultfd_k.h 240 241 static inline bool pte_marker_entry_uffd_wp(swp_entry_t entry) 242 { > 243 return is_pte_marker_entry(entry) && > 244 (pte_marker_get(entry) & PTE_MARKER_UFFD_WP); 245 } 246 -- 0-DAY CI Kernel Test Service https://01.org/lkp