| From 12a5a8e8161e28a8f06f3e67ca77cf18f16d6250 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 7 Jul 2020 09:12:25 +0200 |
| Subject: selftests/bpf: test_progs avoid minus shell exit codes |
| |
| From: Jesper Dangaard Brouer <brouer@redhat.com> |
| |
| [ Upstream commit b8c50df0cb3eb9008f8372e4ff0317eee993b8d1 ] |
| |
| There are a number of places in test_progs that use minus-1 as the argument |
| to exit(). This is confusing as a process exit status is masked to be a |
| number between 0 and 255 as defined in man exit(3). Thus, users will see |
| status 255 instead of minus-1. |
| |
| This patch use positive exit code 3 instead of minus-1. These cases are put |
| in the same group of infrastructure setup errors. |
| |
| Fixes: fd27b1835e70 ("selftests/bpf: Reset process and thread affinity after each test/sub-test") |
| Fixes: 811d7e375d08 ("bpf: selftests: Restore netns after each test") |
| Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> |
| Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| Acked-by: Andrii Nakryiko <andriin@fb.com> |
| Link: https://lore.kernel.org/bpf/159410594499.1093222.11080787853132708654.stgit@firesoul |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/testing/selftests/bpf/test_progs.c | 9 +++++---- |
| 1 file changed, 5 insertions(+), 4 deletions(-) |
| |
| diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selftests/bpf/test_progs.c |
| index 0849735ebda8a..d498b6aa63a42 100644 |
| --- a/tools/testing/selftests/bpf/test_progs.c |
| +++ b/tools/testing/selftests/bpf/test_progs.c |
| @@ -13,6 +13,7 @@ |
| #include <execinfo.h> /* backtrace */ |
| |
| #define EXIT_NO_TEST 2 |
| +#define EXIT_ERR_SETUP_INFRA 3 |
| |
| /* defined in test_progs.h */ |
| struct test_env env = {}; |
| @@ -113,13 +114,13 @@ static void reset_affinity() { |
| if (err < 0) { |
| stdio_restore(); |
| fprintf(stderr, "Failed to reset process affinity: %d!\n", err); |
| - exit(-1); |
| + exit(EXIT_ERR_SETUP_INFRA); |
| } |
| err = pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset); |
| if (err < 0) { |
| stdio_restore(); |
| fprintf(stderr, "Failed to reset thread affinity: %d!\n", err); |
| - exit(-1); |
| + exit(EXIT_ERR_SETUP_INFRA); |
| } |
| } |
| |
| @@ -128,7 +129,7 @@ static void save_netns(void) |
| env.saved_netns_fd = open("/proc/self/ns/net", O_RDONLY); |
| if (env.saved_netns_fd == -1) { |
| perror("open(/proc/self/ns/net)"); |
| - exit(-1); |
| + exit(EXIT_ERR_SETUP_INFRA); |
| } |
| } |
| |
| @@ -137,7 +138,7 @@ static void restore_netns(void) |
| if (setns(env.saved_netns_fd, CLONE_NEWNET) == -1) { |
| stdio_restore(); |
| perror("setns(CLONE_NEWNS)"); |
| - exit(-1); |
| + exit(EXIT_ERR_SETUP_INFRA); |
| } |
| } |
| |
| -- |
| 2.25.1 |
| |