On Wed, 9 Sep 2026 13:41:56 -0400 Steven Rostedt <[email protected]> wrote:
> On Wed, 9 Sep 2026 11:29:53 +0200 > Sven Schnelle <[email protected]> wrote: > > > The current regex also matches symbols in modules, which makes the > > test fail on s390 where name_show is present only once in the kernel, > > but also multiple times in modules: > > > > 000001b1401cdc20 t name_show > > 000001b0c05e6c40 t name_show [mdev] > > 000001b0c0495f30 t name_show [i2c_core] > > > > Fix this by changing the regular expression to only match the function > > name. > > > > Signed-off-by: Sven Schnelle <[email protected]> > > --- > > .../selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git > > a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc > > b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc > > index bc9514428dba..07b1177c1634 100644 > > --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc > > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc > > @@ -6,7 +6,7 @@ > > SYMBOL='name_show' > > > > # We skip this test on kernel where SYMBOL is unique or does not exist. > > -if [ "$(grep -c -E "[[:alnum:]]+ t ${SYMBOL}" /proc/kallsyms)" -le '1' ]; > > then > > +if [ "$(grep -c -E "[[:alnum:]]+ t ${SYMBOL}$" /proc/kallsyms)" -le '1' ]; > > then > > exit_unsupported > > fi > > > > Reviewed-by: Steven Rostedt <[email protected]> > > But I wonder if "type_show" or "init_once" is a better option than > "name_show"? Yeah, we have many other candidates :) $ grep -E '[[:alnum:]]+ t [[:alpha:]][[:alnum:]_]+$' /proc/kallsyms | cut -d " " -f 3 | sort | uniq -cd | sort -nr | head 27 p4d_offset 20 type_show 20 dev_attr_name 17 dev_attr_modalias 16 pfn_to_mfn 15 name_show 14 modalias_show 14 dev_attr_type 13 init_once 13 format_attr_event Maybe we can just fallback to this logic for finding available symbols? Thanks, -- Masami Hiramatsu (Google) <[email protected]>
