Re: [PATCH] selftests/bpf: remove ARRAY_SIZE defines from tests

From: Shuah Khan
Date: Tue Dec 14 2021 - 15:27:19 EST


On 12/11/21 6:53 PM, Alexei Starovoitov wrote:
On Fri, Dec 10, 2021 at 9:34 AM Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> wrote:

ARRAY_SIZE is defined in multiple test files. Remove the definitions
and include header file for the define instead.

Remove ARRAY_SIZE define and add include bpf_util.h to bring in the
define.

Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
---
tools/testing/selftests/bpf/progs/netif_receive_skb.c | 5 +----
tools/testing/selftests/bpf/progs/profiler.inc.h | 5 +----
tools/testing/selftests/bpf/progs/test_sysctl_loop1.c | 5 +----
tools/testing/selftests/bpf/progs/test_sysctl_loop2.c | 4 +---
tools/testing/selftests/bpf/progs/test_sysctl_prog.c | 5 +----
5 files changed, 5 insertions(+), 19 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/netif_receive_skb.c b/tools/testing/selftests/bpf/progs/netif_receive_skb.c
index 1d8918dfbd3f..7a5ebd330689 100644
--- a/tools/testing/selftests/bpf/progs/netif_receive_skb.c
+++ b/tools/testing/selftests/bpf/progs/netif_receive_skb.c
@@ -5,6 +5,7 @@
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_tracing.h>
#include <bpf/bpf_core_read.h>
+#include <bpf/bpf_util.h>

It doesn't look like you've built it.

progs/test_sysctl_prog.c:11:10: fatal error: 'bpf/bpf_util.h' file not found
#include <bpf/bpf_util.h>
^~~~~~~~~~~~~~~~
CLNG-BPF [test_maps] socket_cookie_prog.o
progs/test_sysctl_loop2.c:11:10: fatal error: 'bpf/bpf_util.h' file not found
#include <bpf/bpf_util.h>
^~~~~~~~~~~~~~~~
1 error generated.
In file included from progs/profiler2.c:6:
progs/profiler.inc.h:7:10: fatal error: 'bpf/bpf_util.h' file not found
#include <bpf/bpf_util.h>
^~~~~~~~~~~~~~~~


Sorry about that. I built it - I think something is wrong in my env. Build
fails complaining about not finding vmlinux - I overlooked that the failure
happened before it got to progs.

Error: failed to load BTF from .../vmlinux: No such file or directory

I do have the kernel built with gcc. Is there a clang dependency?

thanks,
-- Shuah