Messages in this thread | | | Date | Wed, 6 Jul 2022 11:06:34 +0800 | From | kernel test robot <> | Subject | [jolsa-perf:bpf/tramp_22 21/21] kernel/bpf/trampoline.c:941:11: warning: variable 'id_multi' is uninitialized when used here |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/tramp_22 head: 1d891c46bb689a24985cea58f4eddb053d6b1331 commit: 1d891c46bb689a24985cea58f4eddb053d6b1331 [21/21] bpf: Add support to attach multi trampolines config: i386-randconfig-a011 (https://download.01.org/0day-ci/archive/20220706/202207061003.NznoJ2YS-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 142aca7741d5b06207e87bf4880fbe308c8d6823) 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 # https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id=1d891c46bb689a24985cea58f4eddb053d6b1331 git remote add jolsa-perf https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git git fetch --no-tags jolsa-perf bpf/tramp_22 git checkout 1d891c46bb689a24985cea58f4eddb053d6b1331 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash kernel/bpf/
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> kernel/bpf/trampoline.c:941:11: warning: variable 'id_multi' is uninitialized when used here [-Wuninitialized] id_add(id_multi, id->id[i]); ^~~~~~~~ kernel/bpf/trampoline.c:924:31: note: initialize the variable 'id_multi' to silence this warning struct bpf_tramp_id *id_multi, *id_singles; ^ = NULL >> kernel/bpf/trampoline.c:950:10: warning: variable 'id_singles' is uninitialized when used here [-Wuninitialized] id_add(id_singles, id->id[i]); ^~~~~~~~~~ kernel/bpf/trampoline.c:924:44: note: initialize the variable 'id_singles' to silence this warning struct bpf_tramp_id *id_multi, *id_singles; ^ = NULL 2 warnings generated.
vim +/id_multi +941 kernel/bpf/trampoline.c
921 922 int bpf_trampoline_multi_attach(struct bpf_tramp_prog *tp, struct bpf_tramp_id *id) 923 { 924 struct bpf_tramp_id *id_multi, *id_singles; 925 struct bpf_trampoline *tr; 926 LIST_HEAD(upd); 927 int i, err = -EINVAL; 928 u64 key; 929 930 mutex_lock(&trampoline_mutex); 931 list_for_each_entry(tr, &multi_trampolines, multi.list) { 932 if (id_and(id, tr->multi.id_multi)) 933 goto out_unlock; 934 } 935 936 for (i = 0; i < id->cnt; i++) { 937 key = bpf_trampoline_compute_key(tp->prog, tp->prog->aux->attach_btf, 938 id->id[i]); 939 tr = __bpf_trampoline_lookup(key); 940 if (!tr) { > 941 id_add(id_multi, id->id[i]); 942 continue; 943 } 944 mutex_lock(&tr->mutex); 945 err = __bpf_trampoline_link_prog(tp, tr, &upd); 946 if (err) { 947 mutex_unlock(&tr->mutex); 948 goto out_rollback; 949 } > 950 id_add(id_singles, id->id[i]); 951 } 952 953 tr = bpf_trampoline_alloc(); 954 if (!tr) 955 goto out_rollback; 956 957 err = __bpf_trampoline_link_prog(tp, tr, &upd); 958 if (err) 959 goto out_rollback; 960 961 err = bpf_tramp_update_set(&upd); 962 if (err) 963 goto out_rollback; 964 965 tr->multi.id_multi = id_multi; 966 tr->multi.id_singles = id_singles; 967 list_add_tail(&tr->multi.list, &multi_trampolines); 968 969 list_for_each_entry(tr, &upd, update.list) { 970 bpf_trampoline_commit(tr); 971 mutex_unlock(&tr->mutex); 972 } 973 974 out_unlock: 975 mutex_unlock(&trampoline_mutex); 976 return 0; 977 out_rollback: 978 list_for_each_entry(tr, &upd, update.list) { 979 bpf_trampoline_rollback(tr); 980 mutex_unlock(&tr->mutex); 981 bpf_trampoline_put(tr); 982 } 983 mutex_unlock(&trampoline_mutex); 984 return err; 985 } 986
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |