lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 6 Jul 2022 11:06:34 +0800
From:   kernel test robot <lkp@...el.com>
To:     Jiri Olsa <jolsa@...nel.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org
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@...el.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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ