From 57447b7acccac0b7d75846ecfdfcd5a3421de3d0 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 15 Mar 2021 21:18:50 -0400 Subject: [PATCH] bcachefs: Fix a btree iterator leak Signed-off-by: Kent Overstreet Signed-off-by: Kent Overstreet --- fs/bcachefs/btree_iter.c | 2 +- fs/bcachefs/reflink.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fs/bcachefs/btree_iter.c b/fs/bcachefs/btree_iter.c index 35480ba43621e..70828d8876f9f 100644 --- a/fs/bcachefs/btree_iter.c +++ b/fs/bcachefs/btree_iter.c @@ -1992,7 +1992,7 @@ static void btree_trans_iter_alloc_fail(struct btree_trans *trans) char buf[100]; trans_for_each_iter(trans, iter) - printk(KERN_ERR "iter: btree %s pos %s%s%s%s %ps\n", + printk(KERN_ERR "iter: btree %s pos %s%s%s%s %pS\n", bch2_btree_ids[iter->btree_id], (bch2_bpos_to_text(&PBUF(buf), iter->pos), buf), btree_iter_live(trans, iter) ? " live" : "", diff --git a/fs/bcachefs/reflink.c b/fs/bcachefs/reflink.c index e0eb2c66300c1..e9a6a5f639b4a 100644 --- a/fs/bcachefs/reflink.c +++ b/fs/bcachefs/reflink.c @@ -157,8 +157,10 @@ static int bch2_make_extent_indirect(struct btree_trans *trans, bch2_trans_update(trans, reflink_iter, r_v, 0); r_p = bch2_trans_kmalloc(trans, sizeof(*r_p)); - if (IS_ERR(r_p)) - return PTR_ERR(r_p); + if (IS_ERR(r_p)) { + ret = PTR_ERR(r_p); + goto err; + } orig->k.type = KEY_TYPE_reflink_p; r_p = bkey_i_to_reflink_p(orig); -- 2.30.2