bcachefs: Fix btree iter leak in __bch2_insert_snapshot_whiteouts()
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 21 Jul 2023 02:47:59 +0000 (22:47 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:10:08 +0000 (17:10 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/btree_update_leaf.c

index 336a91e4fb20439b7ae3c7465ba8be53f17e426a..947c28b76ff0f48439e1cf3b3da069025ccd8383 100644 (file)
@@ -1327,7 +1327,7 @@ int __bch2_insert_snapshot_whiteouts(struct btree_trans *trans,
                                   struct bpos new_pos)
 {
        struct bch_fs *c = trans->c;
-       struct btree_iter old_iter, new_iter;
+       struct btree_iter old_iter, new_iter = { NULL };
        struct bkey_s_c old_k, new_k;
        snapshot_id_list s;
        struct bkey_i *update;
@@ -1377,6 +1377,7 @@ int __bch2_insert_snapshot_whiteouts(struct btree_trans *trans,
                if (ret)
                        break;
        }
+       bch2_trans_iter_exit(trans, &new_iter);
        bch2_trans_iter_exit(trans, &old_iter);
        darray_exit(&s);