From: Jiri Olsa <olsajiri@gmail.com>
To: Leon Hwang <leon.hwang@linux.dev>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
bpf@vger.kernel.org, linux-trace-kernel@vger.kernel.org,
Martin KaFai Lau <kafai@fb.com>,
Eduard Zingerman <eddyz87@gmail.com>,
Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>,
Menglong Dong <menglong8.dong@gmail.com>,
Steven Rostedt <rostedt@kernel.org>
Subject: Re: [PATCHv3 bpf-next 24/24] selftests/bpf: Add tracing multi attach rollback tests
Date: Tue, 17 Mar 2026 18:19:25 +0100 [thread overview]
Message-ID: <abmNHWDXguqKpi1P@krava> (raw)
In-Reply-To: <d1bfc6ec-3234-4515-a68f-ff48ab9c1570@linux.dev>
On Tue, Mar 17, 2026 at 11:20:59AM +0800, Leon Hwang wrote:
SNIP
> > +static void test_rollback_unlink(void)
> > +{
> > + LIBBPF_OPTS(bpf_tracing_multi_opts, opts);
> > + struct tracing_multi_rollback **fillers;
> > + struct tracing_multi_rollback *skel;
> > + size_t cnt = FUNCS_CNT;
> > + __u32 *ids = NULL;
> > + int err, max;
> > +
> > + max = get_bpf_max_tramp_links();
> > + if (!ASSERT_GE(max, 1, "bpf_max_tramp_links"))
> > + return;
> > +
> > + /* Attach maximum allowed programs to bpf_fentry_test10 */
> > + fillers = fillers_load_and_link(max);
> > + if (!ASSERT_OK_PTR(fillers, "fillers_load_and_link"))
> > + return;
> > +
> > + skel = tracing_multi_rollback__open();
> > + if (!ASSERT_OK_PTR(skel, "tracing_multi_rollback__open"))
> > + goto cleanup;
> > +
> > + bpf_program__set_autoload(skel->progs.test_fentry, true);
> > + bpf_program__set_autoload(skel->progs.test_fexit, true);
> > +
> > + /*
> > + * Attach tracing_multi link on bpf_fentry_test1-10, which will
> > + * fail on bpf_fentry_test10 function, because it already has
> > + * maximum allowed programs attached.
> > + *
> > + * The rollback needs to unlink already link-ed trampolines and
> > + * put all of them.
> > + */
> > + err = tracing_multi_rollback__load(skel);
> > + if (!ASSERT_OK(err, "tracing_multi_rollback__load"))
> > + goto cleanup;
> > +
> > + ids = get_ids(bpf_fentry_test, cnt, NULL);
> > + if (!ASSERT_OK_PTR(ids, "get_ids"))
> > + goto cleanup;
> > +
> > + opts.ids = ids;
> > + opts.cnt = cnt;
> > +
> > + skel->bss->pid = getpid();
> > +
> > + skel->links.test_fentry = bpf_program__attach_tracing_multi(skel->progs.test_fentry,
> > + NULL, &opts);
> > + if (!ASSERT_ERR_PTR(skel->links.test_fentry, "bpf_program__attach_tracing_multi"))
> > + goto cleanup;
> > +
> > + skel->links.test_fexit = bpf_program__attach_tracing_multi(skel->progs.test_fexit,
> > + NULL, &opts);
> > + if (!ASSERT_ERR_PTR(skel->links.test_fexit, "bpf_program__attach_tracing_multi"))
> > + goto cleanup;
> > +
> > + tracing_multi_rollback_run(skel);
> > +
> > +cleanup:
> tracing_multi_rollback__destroy(skel); is missed to destroy skel?
it is, will add, thanks
jirka
prev parent reply other threads:[~2026-03-17 17:19 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-16 7:51 [PATCHv3 bpf-next 00/24] bpf: tracing_multi link Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 01/24] ftrace: Add ftrace_hash_count function Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 02/24] bpf: Use mutex lock pool for bpf trampolines Jiri Olsa
2026-03-16 8:35 ` bot+bpf-ci
2026-03-16 21:16 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 03/24] bpf: Add struct bpf_trampoline_ops object Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 04/24] bpf: Add struct bpf_tramp_node object Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 05/24] bpf: Factor fsession link to use struct bpf_tramp_node Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 06/24] bpf: Add multi tracing attach types Jiri Olsa
2026-03-19 16:31 ` kernel test robot
2026-03-19 18:29 ` kernel test robot
2026-03-16 7:51 ` [PATCHv3 bpf-next 07/24] bpf: Move sleepable verification code to btf_id_allow_sleepable Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 08/24] bpf: Add bpf_trampoline_multi_attach/detach functions Jiri Olsa
2026-03-16 8:35 ` bot+bpf-ci
2026-03-16 21:16 ` Jiri Olsa
2026-03-20 10:18 ` kernel test robot
2026-03-16 7:51 ` [PATCHv3 bpf-next 09/24] bpf: Add support for tracing multi link Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 10/24] bpf: Add support for tracing_multi link cookies Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 11/24] bpf: Add support for tracing_multi link session Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 12/24] bpf: Add support for tracing_multi link fdinfo Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 13/24] libbpf: Add bpf_object_cleanup_btf function Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 14/24] libbpf: Add bpf_link_create support for tracing_multi link Jiri Olsa
2026-03-16 8:35 ` bot+bpf-ci
2026-03-16 21:16 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 15/24] libbpf: Add btf_type_is_traceable_func function Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 16/24] libbpf: Add support to create tracing multi link Jiri Olsa
2026-03-16 8:35 ` bot+bpf-ci
2026-03-16 21:16 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 17/24] selftests/bpf: Add tracing multi skel/pattern/ids attach tests Jiri Olsa
2026-03-17 3:04 ` Leon Hwang
2026-03-17 17:18 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 18/24] selftests/bpf: Add tracing multi skel/pattern/ids module " Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 19/24] selftests/bpf: Add tracing multi intersect tests Jiri Olsa
2026-03-17 3:05 ` Leon Hwang
2026-03-17 17:18 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 20/24] selftests/bpf: Add tracing multi cookies test Jiri Olsa
2026-03-17 3:06 ` Leon Hwang
2026-03-17 17:18 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 21/24] selftests/bpf: Add tracing multi session test Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 22/24] selftests/bpf: Add tracing multi attach fails test Jiri Olsa
2026-03-17 3:06 ` Leon Hwang
2026-03-17 17:19 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 23/24] selftests/bpf: Add tracing multi attach benchmark test Jiri Olsa
2026-03-17 3:09 ` Leon Hwang
2026-03-17 17:19 ` Jiri Olsa
2026-03-16 7:51 ` [PATCHv3 bpf-next 24/24] selftests/bpf: Add tracing multi attach rollback tests Jiri Olsa
2026-03-17 3:20 ` Leon Hwang
2026-03-17 17:19 ` Jiri Olsa [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=abmNHWDXguqKpi1P@krava \
--to=olsajiri@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=eddyz87@gmail.com \
--cc=kafai@fb.com \
--cc=leon.hwang@linux.dev \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=menglong8.dong@gmail.com \
--cc=rostedt@kernel.org \
--cc=songliubraving@fb.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox