* [koverstreet-bcachefs:bcachefs-testing 303/318] fs/bcachefs/backpointers.c:695:8: warning: variable 'empty' is used uninitialized whenever 'if' condition is true
@ 2025-05-28 1:47 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-05-28 1:47 UTC (permalink / raw)
To: Kent Overstreet; +Cc: llvm, oe-kbuild-all
tree: https://github.com/koverstreet/bcachefs bcachefs-testing
head: ad02d8684ab62f039bcf56a848b55c01bde6c4fd
commit: a47a765c7d5f490c96377bd09362faa6a9e8c213 [303/318] bcachefs: Replace rcu_read_lock() with guards
config: x86_64-buildonly-randconfig-002-20250528 (https://download.01.org/0day-ci/archive/20250528/202505280902.IdRcM2ys-lkp@intel.com/config)
compiler: clang version 20.1.2 (https://github.com/llvm/llvm-project 58df0ef89dd64126512e4ee27b4ac3fd8ddf6247)
rustc: rustc 1.78.0 (9b00956e5 2024-04-29)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250528/202505280902.IdRcM2ys-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505280902.IdRcM2ys-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> fs/bcachefs/backpointers.c:695:8: warning: variable 'empty' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
695 | if (!bch2_bucket_bitmap_test(&ca->bucket_backpointer_mismatch, b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/bcachefs/backpointers.c:704:14: note: uninitialized use occurs here
704 | int ret = !empty
| ^~~~~
fs/bcachefs/backpointers.c:695:4: note: remove the 'if' if its condition is always false
695 | if (!bch2_bucket_bitmap_test(&ca->bucket_backpointer_mismatch, b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
696 | continue;
| ~~~~~~~~
fs/bcachefs/backpointers.c:691:8: warning: variable 'empty' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
691 | if (p.ptr.cached && dev_ptr_stale_rcu(ca, &p.ptr))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/bcachefs/backpointers.c:704:14: note: uninitialized use occurs here
704 | int ret = !empty
| ^~~~~
fs/bcachefs/backpointers.c:691:4: note: remove the 'if' if its condition is always false
691 | if (p.ptr.cached && dev_ptr_stale_rcu(ca, &p.ptr))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
692 | continue;
| ~~~~~~~~
fs/bcachefs/backpointers.c:688:8: warning: variable 'empty' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
688 | if (!ca)
| ^~~
fs/bcachefs/backpointers.c:704:14: note: uninitialized use occurs here
704 | int ret = !empty
| ^~~~~
fs/bcachefs/backpointers.c:688:4: note: remove the 'if' if its condition is always false
688 | if (!ca)
| ^~~~~~~~
689 | continue;
| ~~~~~~~~
fs/bcachefs/backpointers.c:685:13: note: initialize the variable 'empty' to silence this warning
685 | bool empty;
| ^
| = 0
3 warnings generated.
vim +695 fs/bcachefs/backpointers.c
670
671 static int check_extent_to_backpointers(struct btree_trans *trans,
672 struct extents_to_bp_state *s,
673 enum btree_id btree, unsigned level,
674 struct bkey_s_c k)
675 {
676 struct bch_fs *c = trans->c;
677 struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
678 const union bch_extent_entry *entry;
679 struct extent_ptr_decoded p;
680
681 bkey_for_each_ptr_decode(k.k, ptrs, p, entry) {
682 if (p.ptr.dev == BCH_SB_MEMBER_INVALID)
683 continue;
684
685 bool empty;
686 scoped_guard(rcu) {
687 struct bch_dev *ca = bch2_dev_rcu_noerror(c, p.ptr.dev);
688 if (!ca)
689 continue;
690
691 if (p.ptr.cached && dev_ptr_stale_rcu(ca, &p.ptr))
692 continue;
693
694 u64 b = PTR_BUCKET_NR(ca, &p.ptr);
> 695 if (!bch2_bucket_bitmap_test(&ca->bucket_backpointer_mismatch, b))
696 continue;
697
698 empty = bch2_bucket_bitmap_test(&ca->bucket_backpointer_empty, b);
699 }
700
701 struct bkey_i_backpointer bp;
702 bch2_extent_ptr_to_bp(c, btree, level, k, p, entry, &bp);
703
704 int ret = !empty
705 ? check_bp_exists(trans, s, &bp, k)
706 : bch2_bucket_backpointer_mod(trans, k, &bp, true);
707 if (ret)
708 return ret;
709 }
710
711 return 0;
712 }
713
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-05-28 1:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-28 1:47 [koverstreet-bcachefs:bcachefs-testing 303/318] fs/bcachefs/backpointers.c:695:8: warning: variable 'empty' is used uninitialized whenever 'if' condition is true kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox