Re: [PATCH] tracing/fprobe: Support raw tracepoint events on modules

From: Google
Date: Fri May 31 2024 - 21:36:20 EST


On Sat, 1 Jun 2024 01:01:26 +0800
kernel test robot <lkp@xxxxxxxxx> wrote:

> Hi Masami,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on linus/master]
> [also build test ERROR on v6.10-rc1 next-20240531]
> [cannot apply to rostedt-trace/for-next rostedt-trace/for-next-urgent]
> [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/Masami-Hiramatsu-Google/tracing-fprobe-Support-raw-tracepoint-events-on-modules/20240531-175013
> base: linus/master
> patch link: https://lore.kernel.org/r/171714888633.198965.13093663631481169611.stgit%40devnote2
> patch subject: [PATCH] tracing/fprobe: Support raw tracepoint events on modules
> config: s390-defconfig (https://download.01.org/0day-ci/archive/20240601/202406010034.fsNP9Rsq-lkp@xxxxxxxxx/config)
> compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project bafda89a0944d947fc4b3b5663185e07a397ac30)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240601/202406010034.fsNP9Rsq-lkp@xxxxxxxxx/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@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202406010034.fsNP9Rsq-lkp@xxxxxxxxx/

OK, I must be tired... let me fix that. And I'll add a selftest for this case.

Thanks!

>
> All errors (new ones prefixed by >>):
>
> In file included from kernel/tracepoint.c:5:
> In file included from include/linux/module.h:19:
> In file included from include/linux/elf.h:6:
> In file included from arch/s390/include/asm/elf.h:173:
> In file included from arch/s390/include/asm/mmu_context.h:11:
> In file included from arch/s390/include/asm/pgalloc.h:18:
> In file included from include/linux/mm.h:2253:
> include/linux/vmstat.h:500:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
> 500 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~ ^
> 501 | item];
> | ~~~~
> include/linux/vmstat.h:507:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
> 507 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~ ^
> 508 | NR_VM_NUMA_EVENT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~~
> include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
> 514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
> | ~~~~~~~~~~~ ^ ~~~
> include/linux/vmstat.h:519:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
> 519 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~ ^
> 520 | NR_VM_NUMA_EVENT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~~
> include/linux/vmstat.h:528:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
> 528 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~ ^
> 529 | NR_VM_NUMA_EVENT_ITEMS +
> | ~~~~~~~~~~~~~~~~~~~~~~
> >> kernel/tracepoint.c:751:34: error: no member named '__start___tracepoints_ptrs' in 'struct module'
> 751 | for_each_tracepoint_range(mod->__start___tracepoints_ptrs,
> | ~~~ ^
> 5 warnings and 1 error generated.
>
>
> vim +751 kernel/tracepoint.c
>
> 738
> 739 void for_each_module_tracepoint(void (*fct)(struct tracepoint *tp, void *priv),
> 740 void *priv)
> 741 {
> 742 struct tp_module *tp_mod;
> 743 struct module *mod;
> 744
> 745 if (!mod->num_tracepoints)
> 746 return;
> 747
> 748 mutex_lock(&tracepoint_module_list_mutex);
> 749 list_for_each_entry(tp_mod, &tracepoint_module_list, list) {
> 750 mod = tp_mod->mod;
> > 751 for_each_tracepoint_range(mod->__start___tracepoints_ptrs,
> 752 mod->tracepoints_ptrs + mod->num_tracepoints,
> 753 fct, priv);
> 754 }
> 755 mutex_unlock(&tracepoint_module_list_mutex);
> 756 }
> 757 #endif /* CONFIG_MODULES */
> 758
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>