bcachefs: Fix a null ptr deref in btree_iter_traverse_one()
authorKent Overstreet <kent.overstreet@gmail.com>
Mon, 16 Dec 2019 20:37:47 +0000 (15:37 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:33 +0000 (17:08 -0400)
When traversing nodes and we've reached the end of the btree, the
current btree node will be NULL.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_iter.c

index f05a5e718181060ee7a6f597e34544019f90511c..34443d18bc42e39dc678456b92f0331a80263188 100644 (file)
@@ -1148,7 +1148,8 @@ static int btree_iter_traverse_one(struct btree_iter *iter)
        iter->uptodate = BTREE_ITER_NEED_PEEK;
 
        bch2_btree_trans_verify_locks(iter->trans);
-       __bch2_btree_iter_verify(iter, iter->l[iter->level].b);
+       if (btree_iter_node(iter, iter->level))
+               __bch2_btree_iter_verify(iter, iter->l[iter->level].b);
        return 0;
 }