On Tue, Mar 12, 2024 at 9:56 AM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > On Mon, Mar 11, 2024 at 2:35 AM Menglong Dong > <dongmenglong.8@xxxxxxxxxxxxx> wrote: > > > > > > - err = libbpf_find_attach_btf_id(prog, attach_name, &btf_obj_fd, &btf_type_id); > > + name_end = strchr(attach_name, ','); > > + /* for multi-link tracing, use the first target symbol during > > + * loading. > > + */ > > + if ((def & SEC_ATTACH_BTF_MULTI) && name_end) { > > + int len = name_end - attach_name + 1; > > + char *first_tgt; > > + > > + first_tgt = malloc(len); > > + if (!first_tgt) > > + return -ENOMEM; > > + strncpy(first_tgt, attach_name, len); > > + first_tgt[len - 1] = '\0'; > > + err = libbpf_find_attach_btf_id(prog, first_tgt, &btf_obj_fd, > > + &btf_type_id); > > + free(first_tgt); > > + } else { > > + err = libbpf_find_attach_btf_id(prog, attach_name, &btf_obj_fd, > > + &btf_type_id); > > + } > > Pls use glob_match the way [ku]probe multi are doing > instead of exact match. Hello, I'm a little suspecting the effect of glob_match. I seldom found the use case that the kernel functions which we want to trace have the same naming pattern. And the exact match seems more useful. Can we use both exact and glob match here? Thanks! Menglong Dong