selftests/bpf: Fix clang compilation errors
authorYonghong Song <yhs@fb.com>
Fri, 25 Mar 2022 20:03:04 +0000 (13:03 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 29 Mar 2022 03:00:11 +0000 (20:00 -0700)
llvm upstream patch ([1]) added to issue warning for code like
  void test() {
    int j = 0;
    for (int i = 0; i < 1000; i++)
            j++;
    return;
  }

This triggered several errors in selftests/bpf build since
compilation flag -Werror is used.
  ...
  test_lpm_map.c:212:15: error: variable 'n_matches' set but not used [-Werror,-Wunused-but-set-variable]
        size_t i, j, n_matches, n_matches_after_delete, n_nodes, n_lookups;
                     ^
  test_lpm_map.c:212:26: error: variable 'n_matches_after_delete' set but not used [-Werror,-Wunused-but-set-variable]
        size_t i, j, n_matches, n_matches_after_delete, n_nodes, n_lookups;
                                ^
  ...
  prog_tests/get_stack_raw_tp.c:32:15: error: variable 'cnt' set but not used [-Werror,-Wunused-but-set-variable]
        static __u64 cnt;
                     ^
  ...

  For test_lpm_map.c, 'n_matches'/'n_matches_after_delete' are changed to be volatile
  in order to silent the warning. I didn't remove these two declarations since
  they are referenced in a commented code which might be used by people in certain
  cases. For get_stack_raw_tp.c, the variable 'cnt' is removed.

  [1] https://reviews.llvm.org/D122271

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20220325200304.2915588-1-yhs@fb.com
tools/testing/selftests/bpf/prog_tests/get_stack_raw_tp.c
tools/testing/selftests/bpf/test_lpm_map.c

index e834a01..1604897 100644 (file)
@@ -29,11 +29,8 @@ static void get_stack_print_output(void *ctx, int cpu, void *data, __u32 size)
         */
        struct get_stack_trace_t e;
        int i, num_stack;
-       static __u64 cnt;
        struct ksym *ks;
 
-       cnt++;
-
        memset(&e, 0, sizeof(e));
        memcpy(&e, data, size <= sizeof(e) ? size : sizeof(e));
 
index baa3e3e..aa29461 100644 (file)
@@ -209,7 +209,8 @@ static void test_lpm_order(void)
 static void test_lpm_map(int keysize)
 {
        LIBBPF_OPTS(bpf_map_create_opts, opts, .map_flags = BPF_F_NO_PREALLOC);
-       size_t i, j, n_matches, n_matches_after_delete, n_nodes, n_lookups;
+       volatile size_t n_matches, n_matches_after_delete;
+       size_t i, j, n_nodes, n_lookups;
        struct tlpm_node *t, *list = NULL;
        struct bpf_lpm_trie_key *key;
        uint8_t *data, *value;