Hello Kent Overstreet,
The patch 6489d817f5e2: "bcachefs: Fix
bch2_check_discard_freespace_key()" from Jun 18, 2023 (linux-next),
leads to the following Smatch static checker warning:
fs/bcachefs/alloc_background.c:1295 bch2_check_discard_freespace_key()
error: uninitialized symbol 'ret'.
fs/bcachefs/alloc_background.c
1281 static int bch2_check_discard_freespace_key(struct btree_trans *trans,
1282 struct btree_iter *iter,
1283 struct bpos end)
1284 {
1285 if (!btree_id_is_extents(iter->btree_id)) {
1286 return __bch2_check_discard_freespace_key(trans, iter);
1287 } else {
1288 int ret;
1289
1290 while (!bkey_eq(iter->pos, end) &&
What about if bkey_eq() is at the end on the first iteration through the
loop?
1291 !(ret = btree_trans_too_many_iters(trans) ?:
1292
__bch2_check_discard_freespace_key(trans, iter)))
1293 bch2_btree_iter_set_pos(iter,
bpos_nosnap_successor(iter->pos));
1294
--> 1295 return ret;
1296 }
1297 }
regards,
dan carpenter