From: Jiri Olsa <olsajiri@gmail.com>
To: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
bpf@vger.kernel.org, Martin KaFai Lau <kafai@fb.com>,
Song Liu <songliubraving@fb.com>, Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@chromium.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Yafang Shao <laoar.shao@gmail.com>
Subject: Re: [PATCH bpf-next 4/6] selftests/bpf: Use bpf_link__destroy in fill_link_info tests
Date: Thu, 2 Nov 2023 15:12:51 +0100 [thread overview]
Message-ID: <ZUOuY8Wfh7UQgz88@krava> (raw)
In-Reply-To: <CAEf4BzbKCtON6qry3qpoO5FdNbwMUWV7F2FHzHi+K34qBv3pjg@mail.gmail.com>
On Wed, Nov 01, 2023 at 03:24:36PM -0700, Andrii Nakryiko wrote:
> On Wed, Oct 25, 2023 at 1:25 PM Jiri Olsa <jolsa@kernel.org> wrote:
> >
> > The fill_link_info test keeps skeleton open and just creates
> > various links. We are wrongly calling bpf_link__detach after
> > each test to close them, we need to call bpf_link__destroy.
> >
> > Also we need to set the link NULL so the skeleton destroy
> > won't try to destroy them again.
> >
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > ---
> > .../selftests/bpf/prog_tests/fill_link_info.c | 13 +++++++++----
> > 1 file changed, 9 insertions(+), 4 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/prog_tests/fill_link_info.c b/tools/testing/selftests/bpf/prog_tests/fill_link_info.c
> > index 97142a4db374..0379872c445a 100644
> > --- a/tools/testing/selftests/bpf/prog_tests/fill_link_info.c
> > +++ b/tools/testing/selftests/bpf/prog_tests/fill_link_info.c
> > @@ -22,6 +22,11 @@ static __u64 kmulti_addrs[KMULTI_CNT];
> > #define KPROBE_FUNC "bpf_fentry_test1"
> > static __u64 kprobe_addr;
> >
> > +#define LINK_DESTROY(__link) ({ \
> > + bpf_link__destroy(__link); \
> > + __link = NULL; \
> > +})
> > +
> > #define UPROBE_FILE "/proc/self/exe"
> > static ssize_t uprobe_offset;
> > /* uprobe attach point */
> > @@ -157,7 +162,7 @@ static void test_kprobe_fill_link_info(struct test_fill_link_info *skel,
> > } else {
> > kprobe_fill_invalid_user_buffer(link_fd);
> > }
> > - bpf_link__detach(skel->links.kprobe_run);
> > + LINK_DESTROY(skel->links.kprobe_run);
> > }
> >
> > static void test_tp_fill_link_info(struct test_fill_link_info *skel)
> > @@ -171,7 +176,7 @@ static void test_tp_fill_link_info(struct test_fill_link_info *skel)
> > link_fd = bpf_link__fd(skel->links.tp_run);
> > err = verify_perf_link_info(link_fd, BPF_PERF_EVENT_TRACEPOINT, 0, 0, 0);
> > ASSERT_OK(err, "verify_perf_link_info");
> > - bpf_link__detach(skel->links.tp_run);
> > + LINK_DESTROY(skel->links.tp_run);
> > }
> >
> > static void test_uprobe_fill_link_info(struct test_fill_link_info *skel,
> > @@ -189,7 +194,7 @@ static void test_uprobe_fill_link_info(struct test_fill_link_info *skel,
> > link_fd = bpf_link__fd(skel->links.uprobe_run);
> > err = verify_perf_link_info(link_fd, type, 0, uprobe_offset, 0);
> > ASSERT_OK(err, "verify_perf_link_info");
> > - bpf_link__detach(skel->links.uprobe_run);
> > + LINK_DESTROY(skel->links.uprobe_run);
> > }
> >
> > static int verify_kmulti_link_info(int fd, bool retprobe)
> > @@ -295,7 +300,7 @@ static void test_kprobe_multi_fill_link_info(struct test_fill_link_info *skel,
> > } else {
> > verify_kmulti_invalid_user_buffer(link_fd);
> > }
> > - bpf_link__detach(skel->links.kmulti_run);
> > + LINK_DESTROY(skel->links.kmulti_run);
>
> if we don't want skeleton to take care of these links, we shouldn't
> assign them into skel->links region, IMO
>
> so perhaps the proper fix is to have local bpf_link variable in these tests?
ok, that looks cleaner
jirka
next prev parent reply other threads:[~2023-11-02 14:13 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-25 20:24 [PATCH bpf-next 0/6] bpf: Add link_info support for uprobe multi link Jiri Olsa
2023-10-25 20:24 ` [PATCH bpf-next 1/6] libbpf: Add st_type argument to elf_resolve_syms_offsets function Jiri Olsa
2023-10-26 16:29 ` Song Liu
2023-10-25 20:24 ` [PATCH bpf-next 2/6] bpf: Store ref_ctr_offsets values in bpf_uprobe array Jiri Olsa
2023-10-26 16:31 ` Song Liu
2023-10-27 13:56 ` Jiri Olsa
2023-10-27 14:23 ` Song Liu
2023-11-01 22:21 ` Andrii Nakryiko
2023-10-25 20:24 ` [PATCH bpf-next 3/6] bpf: Add link_info support for uprobe multi link Jiri Olsa
2023-10-26 11:57 ` Yafang Shao
2023-10-27 13:59 ` Jiri Olsa
2023-11-09 8:56 ` Jiri Olsa
2023-10-26 17:55 ` Song Liu
2023-10-27 14:29 ` Jiri Olsa
2023-11-01 22:21 ` Andrii Nakryiko
2023-11-02 14:58 ` Jiri Olsa
2023-11-02 16:21 ` Andrii Nakryiko
2023-10-30 10:18 ` Quentin Monnet
2023-10-30 21:17 ` Jiri Olsa
2023-11-01 22:21 ` Andrii Nakryiko
2023-11-02 14:43 ` Jiri Olsa
2023-11-02 16:19 ` Andrii Nakryiko
2023-10-25 20:24 ` [PATCH bpf-next 4/6] selftests/bpf: Use bpf_link__destroy in fill_link_info tests Jiri Olsa
2023-10-26 11:41 ` Yafang Shao
2023-10-26 18:00 ` Song Liu
2023-11-01 22:24 ` Andrii Nakryiko
2023-11-02 14:12 ` Jiri Olsa [this message]
2023-10-25 20:24 ` [PATCH bpf-next 5/6] selftests/bpf: Add link_info test for uprobe_multi link Jiri Olsa
2023-10-26 18:13 ` Song Liu
2023-11-01 22:27 ` Andrii Nakryiko
2023-10-25 20:24 ` [PATCH bpf-next 6/6] bpftool: Add support to display uprobe_multi links Jiri Olsa
2023-10-26 18:27 ` Song Liu
2023-10-30 10:17 ` Quentin Monnet
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=ZUOuY8Wfh7UQgz88@krava \
--to=olsajiri@gmail.com \
--cc=andrii.nakryiko@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=kafai@fb.com \
--cc=kpsingh@chromium.org \
--cc=laoar.shao@gmail.com \
--cc=sdf@google.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.