2021-10-26 18:19:48

by Andrea Righi

[permalink] [raw]
Subject: [PATCH] selftests/bpf: fix fclose/pclose mismatch

Make sure to use pclose() to properly close the pipe opened by popen().

Fixes: 81f77fd0deeb ("bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID")
Signed-off-by: Andrea Righi <[email protected]>
---
tools/testing/selftests/bpf/test_progs.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
index cc1cd240445d..e3fea6f281e4 100644
--- a/tools/testing/selftests/bpf/test_progs.c
+++ b/tools/testing/selftests/bpf/test_progs.c
@@ -370,7 +370,7 @@ int extract_build_id(char *build_id, size_t size)

if (getline(&line, &len, fp) == -1)
goto err;
- fclose(fp);
+ pclose(fp);

if (len > size)
len = size;
@@ -379,7 +379,7 @@ int extract_build_id(char *build_id, size_t size)
free(line);
return 0;
err:
- fclose(fp);
+ pclose(fp);
return -1;
}

--
2.32.0


2021-10-27 04:24:20

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: fix fclose/pclose mismatch

On 10/26/21 8:34 AM, Andrea Righi wrote:
> Make sure to use pclose() to properly close the pipe opened by popen().
>
> Fixes: 81f77fd0deeb ("bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID")
> Signed-off-by: Andrea Righi <[email protected]>
> ---
> tools/testing/selftests/bpf/test_progs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
> index cc1cd240445d..e3fea6f281e4 100644
> --- a/tools/testing/selftests/bpf/test_progs.c
> +++ b/tools/testing/selftests/bpf/test_progs.c
> @@ -370,7 +370,7 @@ int extract_build_id(char *build_id, size_t size)
>
> if (getline(&line, &len, fp) == -1)
> goto err;
> - fclose(fp);
> + pclose(fp);
>
> if (len > size)
> len = size;
> @@ -379,7 +379,7 @@ int extract_build_id(char *build_id, size_t size)
> free(line);
> return 0;
> err:
> - fclose(fp);
> + pclose(fp);
> return -1;
> }
>
>

Thank you for the patch. The return logic could be simpler
doing out handling common for error and success path with
just one call to close. Not related to this change though.

Adding bpf maintainers to the thread

Reviewed-by: Shuah Khan <[email protected]>

thanks,
-- Shuah

2021-10-27 04:38:38

by Alexei Starovoitov

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: fix fclose/pclose mismatch

On Tue, Oct 26, 2021 at 10:47 AM Shuah Khan <[email protected]> wrote:
>
> On 10/26/21 8:34 AM, Andrea Righi wrote:
> > Make sure to use pclose() to properly close the pipe opened by popen().
> >
> > Fixes: 81f77fd0deeb ("bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID")
> > Signed-off-by: Andrea Righi <[email protected]>
> > ---
> > tools/testing/selftests/bpf/test_progs.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c
> > index cc1cd240445d..e3fea6f281e4 100644
> > --- a/tools/testing/selftests/bpf/test_progs.c
> > +++ b/tools/testing/selftests/bpf/test_progs.c
> > @@ -370,7 +370,7 @@ int extract_build_id(char *build_id, size_t size)
> >
> > if (getline(&line, &len, fp) == -1)
> > goto err;
> > - fclose(fp);
> > + pclose(fp);
> >
> > if (len > size)
> > len = size;
> > @@ -379,7 +379,7 @@ int extract_build_id(char *build_id, size_t size)
> > free(line);
> > return 0;
> > err:
> > - fclose(fp);
> > + pclose(fp);
> > return -1;
> > }
> >
> >
>
> Thank you for the patch. The return logic could be simpler
> doing out handling common for error and success path with
> just one call to close. Not related to this change though.
>
> Adding bpf maintainers to the thread

Ohh. That's odd.
I see the patch in:
https://patchwork.kernel.org/project/netdevbpf/list/?delegate=121173
but not in my gmail.
vger is probably slow.

2021-10-29 04:57:32

by Martin KaFai Lau

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: fix fclose/pclose mismatch

On Tue, Oct 26, 2021 at 04:34:09PM +0200, Andrea Righi wrote:
> Make sure to use pclose() to properly close the pipe opened by popen().
Acked-by: Martin KaFai Lau <[email protected]>

2021-10-29 15:52:31

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH] selftests/bpf: fix fclose/pclose mismatch

Hello:

This patch was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <[email protected]>:

On Tue, 26 Oct 2021 16:34:09 +0200 you wrote:
> Make sure to use pclose() to properly close the pipe opened by popen().
>
> Fixes: 81f77fd0deeb ("bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID")
> Signed-off-by: Andrea Righi <[email protected]>
> ---
> tools/testing/selftests/bpf/test_progs.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Here is the summary with links:
- selftests/bpf: fix fclose/pclose mismatch
https://git.kernel.org/bpf/bpf-next/c/f48ad69097fe

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