Re: [PATCH] cgroup: cgroup: Remove unnecessary ‘NULL’ values from res

From: kernel test robot
Date: Sat Aug 12 2023 - 01:44:10 EST


Hi Li,

kernel test robot noticed the following build warnings:

[auto build test WARNING on tj-cgroup/for-next]
[cannot apply to linus/master v6.5-rc5 next-20230809]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Li-kunyu/cgroup-cgroup-Remove-unnecessary-NULL-values-from-res/20230811-172322
base: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-next
patch link: https://lore.kernel.org/r/20230813015142.3095-1-kunyu%40nfschina.com
patch subject: [PATCH] cgroup: cgroup: Remove unnecessary ‘NULL’ values from res
config: x86_64-randconfig-x002-20230812 (https://download.01.org/0day-ci/archive/20230812/202308121338.k2YdCXVR-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce: (https://download.01.org/0day-ci/archive/20230812/202308121338.k2YdCXVR-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308121338.k2YdCXVR-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> kernel/cgroup/cgroup.c:1380:3: warning: variable 'res' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized]
list_for_each_entry(link, &cset->cgrp_links, cgrp_link) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/list.h:578:7: note: expanded from macro 'list_for_each_entry'
&pos->member != (head); \
^~~~~~~~~~~~~~~~~~~~~~
kernel/cgroup/cgroup.c:1391:10: note: uninitialized use occurs here
BUG_ON(!res);
^~~
include/asm-generic/bug.h:62:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
kernel/cgroup/cgroup.c:1380:3: note: remove the condition if it is always true
list_for_each_entry(link, &cset->cgrp_links, cgrp_link) {
^
include/linux/list.h:578:7: note: expanded from macro 'list_for_each_entry'
&pos->member != (head); \
^
kernel/cgroup/cgroup.c:1367:20: note: initialize the variable 'res' to silence this warning
struct cgroup *res;
^
= NULL
1 warning generated.


vim +1380 kernel/cgroup/cgroup.c

f2e85d574e881f kernel/cgroup.c Tejun Heo 2014-02-11 1359
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1360 /*
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1361 * look up cgroup associated with current task's cgroup namespace on the
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1362 * specified hierarchy
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1363 */
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1364 static struct cgroup *
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1365 current_cgns_cgroup_from_root(struct cgroup_root *root)
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1366 {
aa6f66ec5ebc27 kernel/cgroup/cgroup.c Li kunyu 2023-08-13 1367 struct cgroup *res;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1368 struct css_set *cset;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1369
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1370 lockdep_assert_held(&css_set_lock);
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1371
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1372 rcu_read_lock();
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1373
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1374 cset = current->nsproxy->cgroup_ns->root_cset;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1375 if (cset == &init_css_set) {
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1376 res = &root->cgrp;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1377 } else {
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1378 struct cgrp_cset_link *link;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1379
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 @1380 list_for_each_entry(link, &cset->cgrp_links, cgrp_link) {
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1381 struct cgroup *c = link->cgrp;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1382
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1383 if (c->root == root) {
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1384 res = c;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1385 break;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1386 }
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1387 }
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1388 }
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1389 rcu_read_unlock();
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1390
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1391 BUG_ON(!res);
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1392 return res;
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1393 }
4f41fc59620fce kernel/cgroup.c Serge E. Hallyn 2016-05-09 1394

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki