Re: [PATCH] selftests/bpf: fix array_size.cocci warning:

From: Daniel Borkmann
Date: Wed Nov 17 2021 - 17:42:16 EST


On 11/17/21 2:20 PM, Guo Zhengkui wrote:
Use ARRAY_SIZE() because it uses __must_be_array(arr) to make sure
arr is really an array.

Signed-off-by: Guo Zhengkui <guozhengkui@xxxxxxxx>
---
.../testing/selftests/bpf/prog_tests/cgroup_attach_override.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c b/tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c
index 356547e849e2..1921c5040d8c 100644
--- a/tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c
+++ b/tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
+#include <linux/kernel.h>
#include <test_progs.h>

No need for the extra include. test_progs.h already includes bpf_util.h, please check
such trivialities before submission. Simple grep would have revealed use of ARRAY_SIZE()
in various places under tools/testing/selftests/bpf/prog_tests/.

#include "cgroup_helpers.h"
@@ -16,10 +17,9 @@ static int prog_load(int verdict)
BPF_MOV64_IMM(BPF_REG_0, verdict), /* r0 = verdict */
BPF_EXIT_INSN(),
};
- size_t insns_cnt = sizeof(prog) / sizeof(struct bpf_insn);
return bpf_test_load_program(BPF_PROG_TYPE_CGROUP_SKB,
- prog, insns_cnt, "GPL", 0,
+ prog, ARRAY_SIZE(prog), "GPL", 0,
bpf_log_buf, BPF_LOG_BUF_SIZE);

There are many more similar occurrences. Please just send one cleanup patch to reduce
churn in the git log.

Thanks,
Daniel