Re: [PATCH bpf-next v4 1/4] bpf: add bpf_get_cpu_cycles kfunc

kernel test robot
2024-11-08T01:55:47Z

Hi Vadim,

kernel test robot noticed the following build errors:

[auto build test ERROR on bpf-next/master]

url: https://github.com/intel-lab-lkp/linux/commits/Vadim-Fedorenko/bpf-add-bpf_cpu_cycles_to_ns-helper/20241108-051950
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20241107211206.2814069-1-vadfed%40meta.com
patch subject: [PATCH bpf-next v4 1/4] bpf: add bpf_get_cpu_cycles kfunc
config: arm-randconfig-004-20241108 (https://download.01.org/0day-ci/archive/20241108/202411080939.hiAmVBIM-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241108/202411080939.hiAmVBIM-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411080939.hiAmVBIM-lkp@intel.com/

All errors (new ones prefixed by >>):

In file included from kernel/bpf/helpers.c:4:
In file included from include/linux/bpf.h:21:
In file included from include/linux/kallsyms.h:13:
In file included from include/linux/mm.h:2213:
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
kernel/bpf/helpers.c:117:36: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
117 | .arg2_type = ARG_PTR_TO_MAP_VALUE | MEM_UNINIT | MEM_WRITE,
| ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:130:36: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
130 | .arg2_type = ARG_PTR_TO_MAP_VALUE | MEM_UNINIT | MEM_WRITE,
| ~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:541:30: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
541 | .arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:544:41: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
544 | .arg4_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_UNINIT | MEM_WRITE | MEM_ALIGNED,
| ~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:569:30: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
569 | .arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:572:41: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
572 | .arg4_type = ARG_PTR_TO_FIXED_SIZE_MEM | MEM_UNINIT | MEM_WRITE | MEM_ALIGNED,
| ~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:585:30: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
585 | .arg1_type = ARG_PTR_TO_MEM | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:655:35: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
655 | .arg4_type = ARG_PTR_TO_MEM | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:727:39: warning: bitwise operation between different enumeration types ('enum bpf_return_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
727 | .ret_type = RET_PTR_TO_MEM_OR_BTF_ID | PTR_MAYBE_NULL | MEM_RDONLY,
| ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
kernel/bpf/helpers.c:740:39: warning: bitwise operation between different enumeration types ('enum bpf_return_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
740 | .ret_type = RET_PTR_TO_MEM_OR_BTF_ID | MEM_RDONLY,
| ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:1082:30: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1082 | .arg4_type = ARG_PTR_TO_MEM | PTR_MAYBE_NULL | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
kernel/bpf/helpers.c:1643:44: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1643 | .arg2_type = ARG_PTR_TO_BTF_ID_OR_NULL | OBJ_RELEASE,
| ~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
kernel/bpf/helpers.c:1748:33: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1748 | .arg4_type = ARG_PTR_TO_DYNPTR | DYNPTR_TYPE_LOCAL | MEM_UNINIT | MEM_WRITE,
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
kernel/bpf/helpers.c:1791:33: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1791 | .arg3_type = ARG_PTR_TO_DYNPTR | MEM_RDONLY,
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:1839:33: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1839 | .arg1_type = ARG_PTR_TO_DYNPTR | MEM_RDONLY,
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:1841:30: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1841 | .arg3_type = ARG_PTR_TO_MEM | MEM_RDONLY,
| ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:1881:33: warning: bitwise operation between different enumeration types ('enum bpf_arg_type' and 'enum bpf_type_flag') [-Wenum-enum-conversion]
1881 | .arg1_type = ARG_PTR_TO_DYNPTR | MEM_RDONLY,
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~
kernel/bpf/helpers.c:3029:18: warning: extra tokens at end of #ifdef directive [-Wextra-tokens]
3029 | #ifdef IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY)
| ^
| //
>> kernel/bpf/helpers.c:3032:9: error: call to undeclared function '__arch_get_hw_counter'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
3032 | return __arch_get_hw_counter(1, NULL);
| ^
kernel/bpf/helpers.c:3128:18: warning: extra tokens at end of #ifdef directive [-Wextra-tokens]
3128 | #ifdef IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY)
| ^
| //
20 warnings and 1 error generated.

vim +/__arch_get_hw_counter +3032 kernel/bpf/helpers.c

3028
3029 #ifdef IS_ENABLED(CONFIG_GENERIC_GETTIMEOFDAY)
3030 __bpf_kfunc u64 bpf_get_cpu_cycles(void)
3031 {
> 3032 return __arch_get_hw_counter(1, NULL);
3033 }
3034 #endif
3035

--
0-DAY CI Kernel Test Service