OSDN Git Service

selftests/bpf: Clean up array_size.cocci warnings
authorGuo Zhengkui <guozhengkui@vivo.com>
Tue, 15 Mar 2022 13:01:26 +0000 (21:01 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 15 Mar 2022 16:03:10 +0000 (17:03 +0100)
Clean up the array_size.cocci warnings under tools/testing/selftests/bpf/:

Use `ARRAY_SIZE(arr)` instead of forms like `sizeof(arr)/sizeof(arr[0])`.

tools/testing/selftests/bpf/test_cgroup_storage.c uses ARRAY_SIZE() defined
in tools/include/linux/kernel.h (sys/sysinfo.h -> linux/kernel.h), while
others use ARRAY_SIZE() in bpf_util.h.

Signed-off-by: Guo Zhengkui <guozhengkui@vivo.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220315130143.2403-1-guozhengkui@vivo.com
tools/testing/selftests/bpf/prog_tests/cgroup_attach_autodetach.c
tools/testing/selftests/bpf/prog_tests/cgroup_attach_multi.c
tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c
tools/testing/selftests/bpf/prog_tests/global_data.c
tools/testing/selftests/bpf/prog_tests/obj_name.c
tools/testing/selftests/bpf/test_cgroup_storage.c
tools/testing/selftests/bpf/test_lru_map.c
tools/testing/selftests/bpf/test_sock_addr.c
tools/testing/selftests/bpf/test_sockmap.c

index 858916d..9367bd2 100644 (file)
@@ -14,7 +14,7 @@ static int prog_load(void)
                BPF_MOV64_IMM(BPF_REG_0, 1), /* r0 = 1 */
                BPF_EXIT_INSN(),
        };
-       size_t insns_cnt = sizeof(prog) / sizeof(struct bpf_insn);
+       size_t insns_cnt = ARRAY_SIZE(prog);
 
        return bpf_test_load_program(BPF_PROG_TYPE_CGROUP_SKB,
                               prog, insns_cnt, "GPL", 0,
index 38b3c47..db0b7ba 100644 (file)
@@ -63,7 +63,7 @@ static int prog_load_cnt(int verdict, int val)
                BPF_MOV64_IMM(BPF_REG_0, verdict), /* r0 = verdict */
                BPF_EXIT_INSN(),
        };
-       size_t insns_cnt = sizeof(prog) / sizeof(struct bpf_insn);
+       size_t insns_cnt = ARRAY_SIZE(prog);
        int ret;
 
        ret = bpf_test_load_program(BPF_PROG_TYPE_CGROUP_SKB,
index 356547e..9421a5b 100644 (file)
@@ -16,7 +16,7 @@ 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);
+       size_t insns_cnt = ARRAY_SIZE(prog);
 
        return bpf_test_load_program(BPF_PROG_TYPE_CGROUP_SKB,
                               prog, insns_cnt, "GPL", 0,
index 6fb3d31..0276858 100644 (file)
@@ -29,7 +29,7 @@ static void test_global_data_number(struct bpf_object *obj, __u32 duration)
                { "relocate .rodata reference", 10, ~0 },
        };
 
-       for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
+       for (i = 0; i < ARRAY_SIZE(tests); i++) {
                err = bpf_map_lookup_elem(map_fd, &tests[i].key, &num);
                CHECK(err || num != tests[i].num, tests[i].name,
                      "err %d result %llx expected %llx\n",
@@ -58,7 +58,7 @@ static void test_global_data_string(struct bpf_object *obj, __u32 duration)
                { "relocate .bss reference",    4, "\0\0hello" },
        };
 
-       for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
+       for (i = 0; i < ARRAY_SIZE(tests); i++) {
                err = bpf_map_lookup_elem(map_fd, &tests[i].key, str);
                CHECK(err || memcmp(str, tests[i].str, sizeof(str)),
                      tests[i].name, "err %d result \'%s\' expected \'%s\'\n",
@@ -92,7 +92,7 @@ static void test_global_data_struct(struct bpf_object *obj, __u32 duration)
                { "relocate .data reference",   3, { 41, 0xeeeeefef, 0x2111111111111111ULL, } },
        };
 
-       for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
+       for (i = 0; i < ARRAY_SIZE(tests); i++) {
                err = bpf_map_lookup_elem(map_fd, &tests[i].key, &val);
                CHECK(err || memcmp(&val, &tests[i].val, sizeof(val)),
                      tests[i].name, "err %d result { %u, %u, %llu } expected { %u, %u, %llu }\n",
index 6194b77..7093edc 100644 (file)
@@ -20,7 +20,7 @@ void test_obj_name(void)
        __u32 duration = 0;
        int i;
 
-       for (i = 0; i < sizeof(tests) / sizeof(tests[0]); i++) {
+       for (i = 0; i < ARRAY_SIZE(tests); i++) {
                size_t name_len = strlen(tests[i].name) + 1;
                union bpf_attr attr;
                size_t ncopy;
index 5b8314c..d6a1be4 100644 (file)
@@ -36,7 +36,7 @@ int main(int argc, char **argv)
                BPF_MOV64_REG(BPF_REG_0, BPF_REG_1),
                BPF_EXIT_INSN(),
        };
-       size_t insns_cnt = sizeof(prog) / sizeof(struct bpf_insn);
+       size_t insns_cnt = ARRAY_SIZE(prog);
        int error = EXIT_FAILURE;
        int map_fd, percpu_map_fd, prog_fd, cgroup_fd;
        struct bpf_cgroup_storage_key key;
index 6e62351..563bbe1 100644 (file)
@@ -878,11 +878,11 @@ int main(int argc, char **argv)
        assert(nr_cpus != -1);
        printf("nr_cpus:%d\n\n", nr_cpus);
 
-       for (f = 0; f < sizeof(map_flags) / sizeof(*map_flags); f++) {
+       for (f = 0; f < ARRAY_SIZE(map_flags); f++) {
                unsigned int tgt_free = (map_flags[f] & BPF_F_NO_COMMON_LRU) ?
                        PERCPU_FREE_TARGET : LOCAL_FREE_TARGET;
 
-               for (t = 0; t < sizeof(map_types) / sizeof(*map_types); t++) {
+               for (t = 0; t < ARRAY_SIZE(map_types); t++) {
                        test_lru_sanity0(map_types[t], map_flags[f]);
                        test_lru_sanity1(map_types[t], map_flags[f], tgt_free);
                        test_lru_sanity2(map_types[t], map_flags[f], tgt_free);
index f0c8d05..f3d5d7a 100644 (file)
@@ -723,7 +723,7 @@ static int xmsg_ret_only_prog_load(const struct sock_addr_test *test,
                BPF_MOV64_IMM(BPF_REG_0, rc),
                BPF_EXIT_INSN(),
        };
-       return load_insns(test, insns, sizeof(insns) / sizeof(struct bpf_insn));
+       return load_insns(test, insns, ARRAY_SIZE(insns));
 }
 
 static int sendmsg_allow_prog_load(const struct sock_addr_test *test)
@@ -795,7 +795,7 @@ static int sendmsg4_rw_asm_prog_load(const struct sock_addr_test *test)
                BPF_EXIT_INSN(),
        };
 
-       return load_insns(test, insns, sizeof(insns) / sizeof(struct bpf_insn));
+       return load_insns(test, insns, ARRAY_SIZE(insns));
 }
 
 static int recvmsg4_rw_c_prog_load(const struct sock_addr_test *test)
@@ -858,7 +858,7 @@ static int sendmsg6_rw_dst_asm_prog_load(const struct sock_addr_test *test,
                BPF_EXIT_INSN(),
        };
 
-       return load_insns(test, insns, sizeof(insns) / sizeof(struct bpf_insn));
+       return load_insns(test, insns, ARRAY_SIZE(insns));
 }
 
 static int sendmsg6_rw_asm_prog_load(const struct sock_addr_test *test)
index 1ba7e73..dfb4f5c 100644 (file)
@@ -1786,7 +1786,7 @@ static int populate_progs(char *bpf_file)
                i++;
        }
 
-       for (i = 0; i < sizeof(map_fd)/sizeof(int); i++) {
+       for (i = 0; i < ARRAY_SIZE(map_fd); i++) {
                maps[i] = bpf_object__find_map_by_name(obj, map_names[i]);
                map_fd[i] = bpf_map__fd(maps[i]);
                if (map_fd[i] < 0) {
@@ -1867,7 +1867,7 @@ static int __test_selftests(int cg_fd, struct sockmap_options *opt)
        }
 
        /* Tests basic commands and APIs */
-       for (i = 0; i < sizeof(test)/sizeof(struct _test); i++) {
+       for (i = 0; i < ARRAY_SIZE(test); i++) {
                struct _test t = test[i];
 
                if (check_whitelist(&t, opt) != 0)