Message ID | 20211117132024.11509-1-guozhengkui@vivo.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | selftests/bpf: fix array_size.cocci warning: | expand |
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@vivo.com> > --- > .../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
> 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/. Actually, ARRAY_SIZE() in ./include/linux/kernel.h is diffrent from the one defined in bpf_util.h: ./include/linux/kernel.h #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ./tools/testing/selftests/bpf/bpf_util.h #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) __must_be_array() ensures arr is an array, which is better than the one defined in bpf_util.h > here are many more similar occurrences. Please just send one cleanup patch to reduce churn in the git log. Yes, I will commit another patch.
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> #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); }
Use ARRAY_SIZE() because it uses __must_be_array(arr) to make sure arr is really an array. Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com> --- .../testing/selftests/bpf/prog_tests/cgroup_attach_override.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)