From: Kent Overstreet Date: Fri, 26 Jun 2020 17:56:21 +0000 (-0400) Subject: bcachefs: Fix a null ptr deref in bch2_btree_iter_traverse_one() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c61b7e21ecfff2096cdb84d86bd18f1ceab7de72;p=linux.git bcachefs: Fix a null ptr deref in bch2_btree_iter_traverse_one() We use sentinal values that aren't NULL to indicate there's a btree node at a higher level; occasionally, this may result in btree_iter_up_until_good_node() stopping at one of those sentinal values. Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 2bd02e804b76d..7501556c0988f 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1235,7 +1235,7 @@ static int btree_iter_traverse_one(struct btree_iter *iter) * * XXX correctly using BTREE_ITER_UPTODATE should make this unnecessary */ - if (btree_iter_node(iter, iter->level)) { + if (is_btree_node(iter, iter->level)) { BUG_ON(!btree_iter_pos_in_node(iter, iter->l[iter->level].b)); btree_iter_advance_to_pos(iter, &iter->l[iter->level], -1);