Hi Yafang, [FYI, it's a private test report for your RFC patch.] [auto build test ERROR on bpf-next/master] [also build test ERROR on bpf/master vbabka-slab/for-next linus/master v6.1 next-20221208] [cannot apply to akpm-mm/mm-everything] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yafang-Shao/mm-bpf-Add-BPF-into-proc-meminfo/20221212-083842 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20221212003711.24977-6-laoar.shao%40gmail.com patch subject: [RFC PATCH bpf-next 5/9] mm: Account active vm for page config: arm-randconfig-r046-20221212 compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 6e4cea55f0d1104408b26ac574566a0e4de48036) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/intel-lab-lkp/linux/commit/105eb66d01c0ac7f8ffb5ebc8eccfde9480e63ba git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yafang-Shao/mm-bpf-Add-BPF-into-proc-meminfo/20221212-083842 git checkout 105eb66d01c0ac7f8ffb5ebc8eccfde9480e63ba # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): ^~~~~~~~~ include/linux/compiler_types.h:338:9: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^~~~~~~~~ mm/active_vm.c:79:23: error: no member named 'slab_data' in 'struct active_vm' return READ_ONCE(av->slab_data); ~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:326:38: note: expanded from macro '__native_word' sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long)) ^ include/linux/compiler_types.h:358:22: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~ include/linux/compiler_types.h:346:23: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^~~~~~~~~ include/linux/compiler_types.h:338:9: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^~~~~~~~~ mm/active_vm.c:79:23: error: no member named 'slab_data' in 'struct active_vm' return READ_ONCE(av->slab_data); ~~ ^ include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE' compiletime_assert_rwonce_type(x); \ ^ include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type' compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ ^ include/linux/compiler_types.h:358:22: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ^~~~~~~~~ include/linux/compiler_types.h:346:23: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^~~~~~~~~ include/linux/compiler_types.h:338:9: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^~~~~~~~~ mm/active_vm.c:79:23: error: no member named 'slab_data' in 'struct active_vm' return READ_ONCE(av->slab_data); ~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' __READ_ONCE(x); \ ^ include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE' #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) ^ include/linux/compiler_types.h:314:13: note: expanded from macro '__unqual_scalar_typeof' _Generic((x), \ ^ mm/active_vm.c:79:23: error: no member named 'slab_data' in 'struct active_vm' return READ_ONCE(av->slab_data); ~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' __READ_ONCE(x); \ ^ include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE' #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) ^ include/linux/compiler_types.h:321:15: note: expanded from macro '__unqual_scalar_typeof' default: (x))) ^ mm/active_vm.c:79:23: error: no member named 'slab_data' in 'struct active_vm' return READ_ONCE(av->slab_data); ~~ ^ include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE' __READ_ONCE(x); \ ^ include/asm-generic/rwonce.h:44:72: note: expanded from macro '__READ_ONCE' #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) ^ mm/active_vm.c:79:9: error: returning 'void' from a function with incompatible result type 'int *' return READ_ONCE(av->slab_data); ^~~~~~~~~~~~~~~~~~~~~~~~ include/asm-generic/rwonce.h:47:28: note: expanded from macro 'READ_ONCE' #define READ_ONCE(x) \ ^ mm/active_vm.c:94:12: error: no member named 'slab_data' in 'struct active_vm' kfree(av->slab_data); ~~ ^ mm/active_vm.c:95:6: error: no member named 'slab_data' in 'struct active_vm' av->slab_data = NULL; ~~ ^ mm/active_vm.c:104:22: error: no member named 'slab_data' in 'struct active_vm' return cmpxchg(&av->slab_data, NULL, new) == NULL; ~~ ^ include/linux/atomic/atomic-instrumented.h:1913:9: note: expanded from macro 'cmpxchg' typeof(ptr) __ai_ptr = (ptr); \ ^~~ mm/active_vm.c:104:22: error: no member named 'slab_data' in 'struct active_vm' return cmpxchg(&av->slab_data, NULL, new) == NULL; ~~ ^ include/linux/atomic/atomic-instrumented.h:1913:26: note: expanded from macro 'cmpxchg' typeof(ptr) __ai_ptr = (ptr); \ ^~~ >> mm/active_vm.c:104:9: error: variable has incomplete type 'typeof (({ }))' (aka 'void') return cmpxchg(&av->slab_data, NULL, new) == NULL; ^ include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ include/linux/atomic/atomic-arch-fallback.h:52:2: note: expanded from macro 'arch_cmpxchg' __atomic_op_fence(arch_cmpxchg, __VA_ARGS__) ^ include/linux/atomic.h:73:29: note: expanded from macro '__atomic_op_fence' typeof(op##_relaxed(args)) __ret; \ ^ mm/active_vm.c:181:19: error: no member named 'page_data' in 'struct active_vm' WARN_ON_ONCE(av->page_data != 0); ~~ ^ include/asm-generic/bug.h:147:18: note: expanded from macro 'WARN_ON_ONCE' DO_ONCE_LITE_IF(condition, WARN_ON, 1) ^~~~~~~~~ include/linux/once_lite.h:28:27: note: expanded from macro 'DO_ONCE_LITE_IF' bool __ret_do_once = !!(condition); \ ^~~~~~~~~ mm/active_vm.c:182:6: error: no member named 'page_data' in 'struct active_vm' av->page_data = item; ~~ ^ mm/active_vm.c:196:10: error: no member named 'page_data' in 'struct active_vm' if (av->page_data <= 0) ~~ ^ mm/active_vm.c:199:25: error: no member named 'page_data' in 'struct active_vm' active_vm_item_sub(av->page_data, PAGE_SIZE << order); ~~ ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 1 warning and 20 errors generated. vim +104 mm/active_vm.c 0975bc092076bd Yafang Shao 2022-12-12 98 0975bc092076bd Yafang Shao 2022-12-12 99 static bool active_vm_slab_cmpxchg(struct page_ext *page_ext, int *new) 0975bc092076bd Yafang Shao 2022-12-12 100 { 0975bc092076bd Yafang Shao 2022-12-12 101 struct active_vm *av; 0975bc092076bd Yafang Shao 2022-12-12 102 0975bc092076bd Yafang Shao 2022-12-12 103 av = (void *)(page_ext) + active_vm_ops.offset; 0975bc092076bd Yafang Shao 2022-12-12 @104 return cmpxchg(&av->slab_data, NULL, new) == NULL; 0975bc092076bd Yafang Shao 2022-12-12 105 } 0975bc092076bd Yafang Shao 2022-12-12 106 -- 0-DAY CI Kernel Test Service https://01.org/lkp