• Yonghong Song's avatar
    selftests/bpf: Fix a clang compilation error · e5465a90
    Yonghong Song authored
    Compiling kernel and selftests/bpf with latest llvm like blow:
      make -j LLVM=1
      make -C tools/testing/selftests/bpf -j LLVM=1
    I hit the following compilation error:
      /.../prog_tests/log_buf.c:215:6: error: variable 'log_buf' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
              if (!ASSERT_OK_PTR(raw_btf_data, "raw_btf_data_good"))
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /.../prog_tests/log_buf.c:264:7: note: uninitialized use occurs here
              free(log_buf);
                   ^~~~~~~
      /.../prog_tests/log_buf.c:215:2: note: remove the 'if' if its condition is always false
              if (!ASSERT_OK_PTR(raw_btf_data, "raw_btf_data_good"))
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /.../prog_tests/log_buf.c:205:15: note: initialize the variable 'log_buf' to silence this warning
              char *log_buf;
                           ^
                            = NULL
      1 error generated.
    
    Compiler rightfully detected that log_buf is uninitialized in one of failure path as indicated
    in the above.
    
    Proper initialization of 'log_buf' variable fixed the issue.
    Signed-off-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
    Link: https://lore.kernel.org/bpf/20220126181940.4105997-1-yhs@fb.com
    e5465a90
log_buf.c 8.64 KB