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

Reply via email to