[ast-bpf:relo_core 5/11] kernel/bpf/btf.c:6524:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]

From: kernel test robot
Date: Sun Sep 19 2021 - 23:45:52 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/ast/bpf.git relo_core
head: 35a0182c26565e1db43f99a764834bff8a2e4202
commit: 98beca424883749fbcf9f244bb26c96ed3102502 [5/11] bpf: Add bpf_core_add_cands() and wire it into bpf_core_apply_relo_insn().
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: riscv-randconfig-c006-20210919 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c8b3d7d6d6de37af68b2f379d0e37304f78e115f)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/ast/bpf.git/commit/?id=98beca424883749fbcf9f244bb26c96ed3102502
git remote add ast-bpf https://git.kernel.org/pub/scm/linux/kernel/git/ast/bpf.git
git fetch --no-tags ast-bpf relo_core
git checkout 98beca424883749fbcf9f244bb26c96ed3102502
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


clang-analyzer warnings: (new ones prefixed by >>)

>> kernel/bpf/btf.c:6524:2: warning: Value stored to 'err' is never read [clang-analyzer-deadcode.DeadStores]
err = bpf_core_apply_relo_insn("prog_name", insn, 0, &core_relo, 0, btf, cands);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/err +6524 kernel/bpf/btf.c

98beca42488374 Alexei Starovoitov 2021-09-16 6491
fab12a1832b619 Alexei Starovoitov 2021-09-08 6492 BPF_CALL_5(bpf_core_apply_relo, int, btf_fd, struct bpf_core_relo_desc *, relo,
fab12a1832b619 Alexei Starovoitov 2021-09-08 6493 int, relo_sz, void *, insn, int, flags)
fab12a1832b619 Alexei Starovoitov 2021-09-08 6494 {
98beca42488374 Alexei Starovoitov 2021-09-16 6495 struct bpf_core_cand_list *cands = NULL;
98beca42488374 Alexei Starovoitov 2021-09-16 6496 struct bpf_core_relo core_relo = {};
fab12a1832b619 Alexei Starovoitov 2021-09-08 6497 struct btf *btf;
98beca42488374 Alexei Starovoitov 2021-09-16 6498 int err;
fab12a1832b619 Alexei Starovoitov 2021-09-08 6499
fab12a1832b619 Alexei Starovoitov 2021-09-08 6500 if (flags)
fab12a1832b619 Alexei Starovoitov 2021-09-08 6501 return -EINVAL;
98beca42488374 Alexei Starovoitov 2021-09-16 6502
98beca42488374 Alexei Starovoitov 2021-09-16 6503 if (sizeof(*relo) != relo_sz)
98beca42488374 Alexei Starovoitov 2021-09-16 6504 return -EINVAL;
98beca42488374 Alexei Starovoitov 2021-09-16 6505 btf = btf_get_by_fd(btf_fd);
98beca42488374 Alexei Starovoitov 2021-09-16 6506 if (IS_ERR(btf))
98beca42488374 Alexei Starovoitov 2021-09-16 6507 return PTR_ERR(btf);
98beca42488374 Alexei Starovoitov 2021-09-16 6508 if (btf_is_kernel(btf)) {
98beca42488374 Alexei Starovoitov 2021-09-16 6509 btf_put(btf);
98beca42488374 Alexei Starovoitov 2021-09-16 6510 return -EACCES;
98beca42488374 Alexei Starovoitov 2021-09-16 6511 }
98beca42488374 Alexei Starovoitov 2021-09-16 6512 if (relo->kind != BPF_CORE_TYPE_ID_LOCAL) {
98beca42488374 Alexei Starovoitov 2021-09-16 6513 cands = bpf_core_find_cands(btf, relo->type_id);
98beca42488374 Alexei Starovoitov 2021-09-16 6514 if (IS_ERR(cands)) {
98beca42488374 Alexei Starovoitov 2021-09-16 6515 btf_put(btf);
98beca42488374 Alexei Starovoitov 2021-09-16 6516 printk("target candidate search failed for %d\n",
98beca42488374 Alexei Starovoitov 2021-09-16 6517 relo->type_id);
98beca42488374 Alexei Starovoitov 2021-09-16 6518 return PTR_ERR(cands);
98beca42488374 Alexei Starovoitov 2021-09-16 6519 }
98beca42488374 Alexei Starovoitov 2021-09-16 6520 }
98beca42488374 Alexei Starovoitov 2021-09-16 6521 core_relo.type_id = relo->type_id;
98beca42488374 Alexei Starovoitov 2021-09-16 6522 core_relo.access_str_off = relo->access_str_off;
98beca42488374 Alexei Starovoitov 2021-09-16 6523 core_relo.kind = relo->kind;
98beca42488374 Alexei Starovoitov 2021-09-16 @6524 err = bpf_core_apply_relo_insn("prog_name", insn, 0, &core_relo, 0, btf, cands);
98beca42488374 Alexei Starovoitov 2021-09-16 6525 btf_put(btf);
98beca42488374 Alexei Starovoitov 2021-09-16 6526 return 0;
fab12a1832b619 Alexei Starovoitov 2021-09-08 6527 }
fab12a1832b619 Alexei Starovoitov 2021-09-08 6528

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip