On Thu, Jul 06, 2023 at 09:33:40PM -0700, Andrii Nakryiko wrote: > On Fri, Jun 30, 2023 at 1:37 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > > > Adding uprobe_multi test for bpf_link_create attach function. > > > > Testing attachment using the struct bpf_link_create_opts. > > > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > > --- > > .../bpf/prog_tests/uprobe_multi_test.c | 68 +++++++++++++++++++ > > 1 file changed, 68 insertions(+) > > > > [...] > > > + opts.kprobe_multi.flags = BPF_F_UPROBE_MULTI_RETURN; > > + prog_fd = bpf_program__fd(skel->progs.test_uretprobe); > > + link2_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts); > > + if (!ASSERT_GE(link2_fd, 0, "link2_fd")) > > + goto cleanup; > > + > > + opts.kprobe_multi.flags = 0; > > + prog_fd = bpf_program__fd(skel->progs.test_uprobe_sleep); > > + link3_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts); > > + if (!ASSERT_GE(link1_fd, 0, "link3_fd")) > > link3_fd > > > + goto cleanup; > > + > > + opts.kprobe_multi.flags = BPF_F_UPROBE_MULTI_RETURN; > > + prog_fd = bpf_program__fd(skel->progs.test_uretprobe_sleep); > > + link4_fd = bpf_link_create(prog_fd, 0, BPF_TRACE_UPROBE_MULTI, &opts); > > + if (!ASSERT_GE(link2_fd, 0, "link4_fd")) > > link4_fd right, will change thanks, jirka > > > + goto cleanup; > > + uprobe_multi_test_run(skel); > > + > > +cleanup: > > + if (link1_fd >= 0) > > + close(link1_fd); > > + if (link2_fd >= 0) > > + close(link2_fd); > > + if (link3_fd >= 0) > > + close(link3_fd); > > + if (link4_fd >= 0) > > + close(link4_fd); > > + > > + uprobe_multi__destroy(skel); > > + free(offsets); > > +} > > + > > void test_uprobe_multi_test(void) > > { > > if (test__start_subtest("skel_api")) > > @@ -144,4 +210,6 @@ void test_uprobe_multi_test(void) > > test_attach_api_pattern(); > > if (test__start_subtest("attach_api_syms")) > > test_attach_api_syms(); > > + if (test__start_subtest("link_api")) > > + test_link_api(); > > } > > -- > > 2.41.0 > >