All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
@ 2022-10-06  8:31 Jiri Olsa
  2022-10-06 17:21 ` Martin KaFai Lau
  2022-10-06 17:30 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 5+ messages in thread
From: Jiri Olsa @ 2022-10-06  8:31 UTC (permalink / raw)
  To: Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko
  Cc: Kui-Feng Lee, bpf, Martin KaFai Lau, Song Liu, Yonghong Song,
	John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo

Adding missing bpf_iter_vma_offset__destroy call and using in-skeletin
link pointer so we don't need extra bpf_link__destroy call.

Fixes: b3e1331eb925 ("selftests/bpf: Test parameterized task BPF iterators.")
Cc: Kui-Feng Lee <kuifeng@fb.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 v2 changes:
 - use in-skeletin link pointer and destroy call [Martin]

 tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
index 3369c5ec3a17..d4437a2bba28 100644
--- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
+++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
@@ -1498,7 +1498,6 @@ static noinline int trigger_func(int arg)
 static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool one_proc)
 {
 	struct bpf_iter_vma_offset *skel;
-	struct bpf_link *link;
 	char buf[16] = {};
 	int iter_fd, len;
 	int pgsz, shift;
@@ -1513,11 +1512,13 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
 		;
 	skel->bss->page_shift = shift;
 
-	link = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
-	if (!ASSERT_OK_PTR(link, "attach_iter"))
-		return;
+	skel->links.get_vma_offset = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
+	if (!ASSERT_OK_PTR(skel->links.get_vma_offset, "attach_iter")) {
+		skel->links.get_vma_offset = NULL;
+		goto exit;
+	}
 
-	iter_fd = bpf_iter_create(bpf_link__fd(link));
+	iter_fd = bpf_iter_create(bpf_link__fd(skel->links.get_vma_offset));
 	if (!ASSERT_GT(iter_fd, 0, "create_iter"))
 		goto exit;
 
@@ -1535,7 +1536,7 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
 	close(iter_fd);
 
 exit:
-	bpf_link__destroy(link);
+	bpf_iter_vma_offset__destroy(skel);
 }
 
 static void test_task_vma_offset(void)
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
  2022-10-06  8:31 [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call Jiri Olsa
@ 2022-10-06 17:21 ` Martin KaFai Lau
  2022-10-06 17:36   ` Andrii Nakryiko
  2022-10-06 17:30 ` patchwork-bot+netdevbpf
  1 sibling, 1 reply; 5+ messages in thread
From: Martin KaFai Lau @ 2022-10-06 17:21 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Kui-Feng Lee, bpf, Martin KaFai Lau, Song Liu, Yonghong Song,
	John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo,
	Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko

On 10/6/22 1:31 AM, Jiri Olsa wrote:
> Adding missing bpf_iter_vma_offset__destroy call and using in-skeletin
> link pointer so we don't need extra bpf_link__destroy call.
> 
> Fixes: b3e1331eb925 ("selftests/bpf: Test parameterized task BPF iterators.")
> Cc: Kui-Feng Lee <kuifeng@fb.com>
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
>   v2 changes:
>   - use in-skeletin link pointer and destroy call [Martin]
> 
>   tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 13 +++++++------
>   1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> index 3369c5ec3a17..d4437a2bba28 100644
> --- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> +++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> @@ -1498,7 +1498,6 @@ static noinline int trigger_func(int arg)
>   static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool one_proc)
>   {
>   	struct bpf_iter_vma_offset *skel;
> -	struct bpf_link *link;
>   	char buf[16] = {};
>   	int iter_fd, len;
>   	int pgsz, shift;
> @@ -1513,11 +1512,13 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
>   		;
>   	skel->bss->page_shift = shift;
>   
> -	link = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> -	if (!ASSERT_OK_PTR(link, "attach_iter"))
> -		return;
> +	skel->links.get_vma_offset = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> +	if (!ASSERT_OK_PTR(skel->links.get_vma_offset, "attach_iter")) {
> +		skel->links.get_vma_offset = NULL;

Applied with this NULL assignment removed.  bpf_link__destroy() can handle err 
ptr.  Thanks.


> +		goto exit;
> +	}
>   
> -	iter_fd = bpf_iter_create(bpf_link__fd(link));
> +	iter_fd = bpf_iter_create(bpf_link__fd(skel->links.get_vma_offset));
>   	if (!ASSERT_GT(iter_fd, 0, "create_iter"))
>   		goto exit;
>   
> @@ -1535,7 +1536,7 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
>   	close(iter_fd);
>   
>   exit:
> -	bpf_link__destroy(link);
> +	bpf_iter_vma_offset__destroy(skel);
>   }
>   
>   static void test_task_vma_offset(void)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
  2022-10-06  8:31 [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call Jiri Olsa
  2022-10-06 17:21 ` Martin KaFai Lau
@ 2022-10-06 17:30 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-10-06 17:30 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: ast, daniel, andrii, kuifeng, bpf, kafai, songliubraving, yhs,
	john.fastabend, kpsingh, sdf, haoluo

Hello:

This patch was applied to bpf/bpf-next.git (master)
by Martin KaFai Lau <martin.lau@kernel.org>:

On Thu,  6 Oct 2022 10:31:06 +0200 you wrote:
> Adding missing bpf_iter_vma_offset__destroy call and using in-skeletin
> link pointer so we don't need extra bpf_link__destroy call.
> 
> Fixes: b3e1331eb925 ("selftests/bpf: Test parameterized task BPF iterators.")
> Cc: Kui-Feng Lee <kuifeng@fb.com>
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> 
> [...]

Here is the summary with links:
  - [PATCHv2,bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
    https://git.kernel.org/bpf/bpf-next/c/1d2d941bc140

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
  2022-10-06 17:21 ` Martin KaFai Lau
@ 2022-10-06 17:36   ` Andrii Nakryiko
  2022-10-06 19:04     ` Jiri Olsa
  0 siblings, 1 reply; 5+ messages in thread
From: Andrii Nakryiko @ 2022-10-06 17:36 UTC (permalink / raw)
  To: Martin KaFai Lau
  Cc: Jiri Olsa, Kui-Feng Lee, bpf, Martin KaFai Lau, Song Liu,
	Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev,
	Hao Luo, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko

On Thu, Oct 6, 2022 at 10:21 AM Martin KaFai Lau <martin.lau@linux.dev> wrote:
>
> On 10/6/22 1:31 AM, Jiri Olsa wrote:
> > Adding missing bpf_iter_vma_offset__destroy call and using in-skeletin
> > link pointer so we don't need extra bpf_link__destroy call.
> >
> > Fixes: b3e1331eb925 ("selftests/bpf: Test parameterized task BPF iterators.")
> > Cc: Kui-Feng Lee <kuifeng@fb.com>
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > ---
> >   v2 changes:
> >   - use in-skeletin link pointer and destroy call [Martin]
> >
> >   tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 13 +++++++------
> >   1 file changed, 7 insertions(+), 6 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > index 3369c5ec3a17..d4437a2bba28 100644
> > --- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > +++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > @@ -1498,7 +1498,6 @@ static noinline int trigger_func(int arg)
> >   static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool one_proc)
> >   {
> >       struct bpf_iter_vma_offset *skel;
> > -     struct bpf_link *link;
> >       char buf[16] = {};
> >       int iter_fd, len;
> >       int pgsz, shift;
> > @@ -1513,11 +1512,13 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
> >               ;
> >       skel->bss->page_shift = shift;
> >
> > -     link = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> > -     if (!ASSERT_OK_PTR(link, "attach_iter"))
> > -             return;
> > +     skel->links.get_vma_offset = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> > +     if (!ASSERT_OK_PTR(skel->links.get_vma_offset, "attach_iter")) {
> > +             skel->links.get_vma_offset = NULL;
>
> Applied with this NULL assignment removed.  bpf_link__destroy() can handle err
> ptr.  Thanks.
>

It's even better, with libbpf 1.0 there is no err ptr, it's NULL on
error. So good call for removing this!

>
> > +             goto exit;
> > +     }
> >
> > -     iter_fd = bpf_iter_create(bpf_link__fd(link));
> > +     iter_fd = bpf_iter_create(bpf_link__fd(skel->links.get_vma_offset));
> >       if (!ASSERT_GT(iter_fd, 0, "create_iter"))
> >               goto exit;
> >
> > @@ -1535,7 +1536,7 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
> >       close(iter_fd);
> >
> >   exit:
> > -     bpf_link__destroy(link);
> > +     bpf_iter_vma_offset__destroy(skel);
> >   }
> >
> >   static void test_task_vma_offset(void)
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call
  2022-10-06 17:36   ` Andrii Nakryiko
@ 2022-10-06 19:04     ` Jiri Olsa
  0 siblings, 0 replies; 5+ messages in thread
From: Jiri Olsa @ 2022-10-06 19:04 UTC (permalink / raw)
  To: Andrii Nakryiko
  Cc: Martin KaFai Lau, Kui-Feng Lee, bpf, Martin KaFai Lau, Song Liu,
	Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev,
	Hao Luo, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko

On Thu, Oct 06, 2022 at 10:36:08AM -0700, Andrii Nakryiko wrote:
> On Thu, Oct 6, 2022 at 10:21 AM Martin KaFai Lau <martin.lau@linux.dev> wrote:
> >
> > On 10/6/22 1:31 AM, Jiri Olsa wrote:
> > > Adding missing bpf_iter_vma_offset__destroy call and using in-skeletin
> > > link pointer so we don't need extra bpf_link__destroy call.
> > >
> > > Fixes: b3e1331eb925 ("selftests/bpf: Test parameterized task BPF iterators.")
> > > Cc: Kui-Feng Lee <kuifeng@fb.com>
> > > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > > ---
> > >   v2 changes:
> > >   - use in-skeletin link pointer and destroy call [Martin]
> > >
> > >   tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 13 +++++++------
> > >   1 file changed, 7 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > > index 3369c5ec3a17..d4437a2bba28 100644
> > > --- a/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > > +++ b/tools/testing/selftests/bpf/prog_tests/bpf_iter.c
> > > @@ -1498,7 +1498,6 @@ static noinline int trigger_func(int arg)
> > >   static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool one_proc)
> > >   {
> > >       struct bpf_iter_vma_offset *skel;
> > > -     struct bpf_link *link;
> > >       char buf[16] = {};
> > >       int iter_fd, len;
> > >       int pgsz, shift;
> > > @@ -1513,11 +1512,13 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
> > >               ;
> > >       skel->bss->page_shift = shift;
> > >
> > > -     link = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> > > -     if (!ASSERT_OK_PTR(link, "attach_iter"))
> > > -             return;
> > > +     skel->links.get_vma_offset = bpf_program__attach_iter(skel->progs.get_vma_offset, opts);
> > > +     if (!ASSERT_OK_PTR(skel->links.get_vma_offset, "attach_iter")) {
> > > +             skel->links.get_vma_offset = NULL;
> >
> > Applied with this NULL assignment removed.  bpf_link__destroy() can handle err
> > ptr.  Thanks.
> >
> 
> It's even better, with libbpf 1.0 there is no err ptr, it's NULL on
> error. So good call for removing this!

great, thanks :)

jirka

> 
> >
> > > +             goto exit;
> > > +     }
> > >
> > > -     iter_fd = bpf_iter_create(bpf_link__fd(link));
> > > +     iter_fd = bpf_iter_create(bpf_link__fd(skel->links.get_vma_offset));
> > >       if (!ASSERT_GT(iter_fd, 0, "create_iter"))
> > >               goto exit;
> > >
> > > @@ -1535,7 +1536,7 @@ static void test_task_vma_offset_common(struct bpf_iter_attach_opts *opts, bool
> > >       close(iter_fd);
> > >
> > >   exit:
> > > -     bpf_link__destroy(link);
> > > +     bpf_iter_vma_offset__destroy(skel);
> > >   }
> > >
> > >   static void test_task_vma_offset(void)
> >

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-10-06 19:05 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-06  8:31 [PATCHv2 bpf-next] selftests/bpf: Add missing bpf_iter_vma_offset__destroy call Jiri Olsa
2022-10-06 17:21 ` Martin KaFai Lau
2022-10-06 17:36   ` Andrii Nakryiko
2022-10-06 19:04     ` Jiri Olsa
2022-10-06 17:30 ` patchwork-bot+netdevbpf

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.