From: Kent Overstreet Date: Wed, 2 Oct 2019 04:29:37 +0000 (-0400) Subject: bcachefs: Fix an error path X-Git-Tag: io_uring-6.7-2023-11-10~119^2~2322 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=ab9ff73322aad5cf6ea774047e47ef724077399b;p=linux-block.git bcachefs: Fix an error path It's possible to get -EIO in __btree_iter_traverse_all() after looping, with orig_iter NULL. Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 8e9164aee409..78bc82c7b9c3 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1010,8 +1010,11 @@ retry_all: if (unlikely(ret == -EIO)) { trans->error = true; - orig_iter->flags |= BTREE_ITER_ERROR; - orig_iter->l[orig_iter->level].b = BTREE_ITER_NO_NODE_ERROR; + if (orig_iter) { + orig_iter->flags |= BTREE_ITER_ERROR; + orig_iter->l[orig_iter->level].b = + BTREE_ITER_NO_NODE_ERROR; + } goto out; }