tree: https://github.com/weiny2/linux-kernel.git tip-pks-v4-2020-12-17 head: c4c3d898d21401b51941cd75b3e59c2baec59505 commit: c4c3d898d21401b51941cd75b3e59c2baec59505 [18/18] kmap: Add stray access protection for device pages config: x86_64-randconfig-a016-20201217 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project cee1e7d14f4628d6174b33640d502bff3b54ae45) 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 # install x86_64 cross compiling tool for clang build # apt-get install binutils-x86-64-linux-gnu # https://github.com/weiny2/linux-kernel/commit/c4c3d898d21401b51941cd75b3e59c2baec59505 git remote add weiny2 https://github.com/weiny2/linux-kernel.git git fetch --no-tags weiny2 tip-pks-v4-2020-12-17 git checkout c4c3d898d21401b51941cd75b3e59c2baec59505 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:28: In file included from include/linux/cgroup-defs.h:22: In file included from include/linux/bpf-cgroup.h:5: In file included from include/linux/bpf.h:21: In file included from include/linux/kallsyms.h:12: include/linux/mm.h:1196:43: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:58: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:59: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: >> include/linux/highmem.h:40:20: error: argument type 'enum dev_access_mod' is incomplete dev_access_enable(mode); ^~~~ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: include/linux/highmem.h:48:21: error: argument type 'enum dev_access_mod' is incomplete dev_access_disable(mode); ^~~~ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ 2 warnings and 4 errors generated. -- In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:28: In file included from include/linux/cgroup-defs.h:22: In file included from include/linux/bpf-cgroup.h:5: In file included from include/linux/bpf.h:21: In file included from include/linux/kallsyms.h:12: include/linux/mm.h:1196:43: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:58: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:59: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: >> include/linux/highmem.h:40:20: error: argument type 'enum dev_access_mod' is incomplete dev_access_enable(mode); ^~~~ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: include/linux/highmem.h:48:21: error: argument type 'enum dev_access_mod' is incomplete dev_access_disable(mode); ^~~~ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ 2 warnings and 4 errors generated. make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1200: prepare0] Error 2 make[1]: Target 'modules_prepare' not remade because of errors. make: *** [Makefile:185: __sub-make] Error 2 make: Target 'modules_prepare' not remade because of errors. -- In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:13: In file included from include/linux/cgroup.h:28: In file included from include/linux/cgroup-defs.h:22: In file included from include/linux/bpf-cgroup.h:5: In file included from include/linux/bpf.h:21: In file included from include/linux/kallsyms.h:12: include/linux/mm.h:1196:43: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:58: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: warning: declaration of 'enum dev_access_mod' will not be visible outside of this function [-Wvisibility] static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:59: error: variable has incomplete type 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: >> include/linux/highmem.h:40:20: error: argument type 'enum dev_access_mod' is incomplete dev_access_enable(mode); ^~~~ include/linux/mm.h:1196:43: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_enable(enum dev_access_mod mode) { } ^ In file included from arch/x86/kernel/asm-offsets.c:13: In file included from include/linux/suspend.h:5: In file included from include/linux/swap.h:9: In file included from include/linux/memcontrol.h:22: In file included from include/linux/writeback.h:14: In file included from include/linux/blk-cgroup.h:23: In file included from include/linux/blkdev.h:14: In file included from include/linux/pagemap.h:11: include/linux/highmem.h:48:21: error: argument type 'enum dev_access_mod' is incomplete dev_access_disable(mode); ^~~~ include/linux/mm.h:1197:44: note: forward declaration of 'enum dev_access_mod' static inline void dev_access_disable(enum dev_access_mod mode) { } ^ 2 warnings and 4 errors generated. make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1 make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1200: prepare0] Error 2 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:185: __sub-make] Error 2 make: Target 'prepare' not remade because of errors. vim +40 include/linux/highmem.h 34 35 static inline void dev_page_enable_access(struct page *page, 36 enum dev_access_mode mode) 37 { 38 if (!page_is_access_protected(page)) 39 return; > 40 dev_access_enable(mode); 41 } 42 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org