tree: https://github.com/ceph/ceph-client.git testing head: 91e59cfc6ca1a2bf594f60474996c71047edd1e5 commit: 7c7e63bc9910b15ffd1f791838ff0a919058f97c [13/14] ceph: eliminate the recursion when rebuilding the snap context config: hexagon-randconfig-r005-20220216 (https://download.01.org/0day-ci/archive/20220217/202202170318.82LIXBXX-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0e628a783b935c70c80815db6c061ec84f884af5) 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://github.com/ceph/ceph-client/commit/7c7e63bc9910b15ffd1f791838ff0a919058f97c git remote add ceph-client https://github.com/ceph/ceph-client.git git fetch --no-tags ceph-client testing git checkout 7c7e63bc9910b15ffd1f791838ff0a919058f97c # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash fs/ceph/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> fs/ceph/snap.c:438:14: warning: variable '_realm' is uninitialized when used here [-Wuninitialized] list_del(&_realm->rebuild_item); ^~~~~~ fs/ceph/snap.c:430:33: note: initialize the variable '_realm' to silence this warning struct ceph_snap_realm *_realm, *child; ^ = NULL 1 warning generated. vim +/_realm +438 fs/ceph/snap.c 417 418 /* 419 * rebuild snap context for the given realm and all of its children. 420 */ 421 static void rebuild_snap_realms(struct ceph_snap_realm *realm, 422 struct list_head *dirty_realms) 423 { 424 LIST_HEAD(realm_queue); 425 int last = 0; 426 427 list_add_tail(&realm->rebuild_item, &realm_queue); 428 429 while (!list_empty(&realm_queue)) { 430 struct ceph_snap_realm *_realm, *child; 431 432 /* 433 * If the last building failed dues to memory 434 * issue, just empty the realm_queue and return 435 * to avoid infinite loop. 436 */ 437 if (last < 0) { > 438 list_del(&_realm->rebuild_item); 439 continue; 440 } 441 442 _realm = list_first_entry(&realm_queue, 443 struct ceph_snap_realm, 444 rebuild_item); 445 last = build_snap_context(_realm, &realm_queue, dirty_realms); 446 dout("rebuild_snap_realms %llx %p, %s\n", _realm->ino, _realm, 447 last > 0 ? "is deferred" : !last ? "succeeded" : "failed"); 448 449 list_for_each_entry(child, &_realm->children, child_item) 450 list_add_tail(&child->rebuild_item, &realm_queue); 451 452 /* last == 1 means need to build parent first */ 453 if (last <= 0) 454 list_del(&_realm->rebuild_item); 455 } 456 } 457 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx