[PATCH] selftests/bpf: don't close(-1) in serial_test_fexit_stress()

Ma Ke posted 1 patch 1 year, 5 months ago
tools/testing/selftests/bpf/prog_tests/fexit_stress.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] selftests/bpf: don't close(-1) in serial_test_fexit_stress()
Posted by Ma Ke 1 year, 5 months ago
Guard close() with extra link_fd[i] >= 0 and fexit_fd[i] >= 0
check to prevent close(-1).

Signed-off-by: Ma Ke <make24@iscas.ac.cn>
---
 tools/testing/selftests/bpf/prog_tests/fexit_stress.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_stress.c b/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
index 596536def43d..94ff1d9fc9e4 100644
--- a/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
+++ b/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
@@ -50,9 +50,9 @@ void serial_test_fexit_stress(void)
 
 out:
 	for (i = 0; i < bpf_max_tramp_links; i++) {
-		if (link_fd[i])
+		if (link_fd[i] >= 0)
 			close(link_fd[i]);
-		if (fexit_fd[i])
+		if (fexit_fd[i] >= 0)
 			close(fexit_fd[i]);
 	}
 	free(fd);
-- 
2.25.1
Re: [PATCH] selftests/bpf: don't close(-1) in serial_test_fexit_stress()
Posted by Andrii Nakryiko 1 year, 5 months ago
On Sun, Jun 23, 2024 at 6:18 AM Ma Ke <make24@iscas.ac.cn> wrote:
>
> Guard close() with extra link_fd[i] >= 0 and fexit_fd[i] >= 0
> check to prevent close(-1).
>
> Signed-off-by: Ma Ke <make24@iscas.ac.cn>
> ---
>  tools/testing/selftests/bpf/prog_tests/fexit_stress.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_stress.c b/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
> index 596536def43d..94ff1d9fc9e4 100644
> --- a/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
> +++ b/tools/testing/selftests/bpf/prog_tests/fexit_stress.c
> @@ -50,9 +50,9 @@ void serial_test_fexit_stress(void)
>
>  out:
>         for (i = 0; i < bpf_max_tramp_links; i++) {
> -               if (link_fd[i])
> +               if (link_fd[i] >= 0)
>                         close(link_fd[i]);
> -               if (fexit_fd[i])
> +               if (fexit_fd[i] >= 0)
>                         close(fexit_fd[i]);

bpf_link_create() and bpf_prog_load() will return FDs > 2, so we
should just check > 0 conditions. I fixed it up while applying.

>         }
>         free(fd);
> --
> 2.25.1
>