From f24fab9cbad1838fc4356e9e8b861a19cf055c3f Mon Sep 17 00:00:00 2001
From: Kent Overstreet <kent.overstreet@gmail.com>
Date: Fri, 16 Apr 2021 17:26:25 -0400
Subject: [PATCH] bcachefs: Fix some small memory leaks

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
---
 fs/bcachefs/fsck.c     | 2 ++
 fs/bcachefs/replicas.c | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c
index e6036d36e0f9c..4a48ef5d1bfb2 100644
--- a/fs/bcachefs/fsck.c
+++ b/fs/bcachefs/fsck.c
@@ -1124,6 +1124,8 @@ static int check_directory_structure(struct bch_fs *c,
 
 	BUG_ON(ret == -EINTR);
 
+	kfree(path.entries);
+
 	return bch2_trans_exit(&trans) ?: ret;
 }
 
diff --git a/fs/bcachefs/replicas.c b/fs/bcachefs/replicas.c
index 81aba8caab9e8..5a8b0a7b71979 100644
--- a/fs/bcachefs/replicas.c
+++ b/fs/bcachefs/replicas.c
@@ -320,8 +320,8 @@ static int replicas_table_update(struct bch_fs *c,
 out:
 	free_percpu(new_gc);
 	kfree(new_scratch);
-	free_percpu(new_usage[1]);
-	free_percpu(new_usage[0]);
+	for (i = 0; i < ARRAY_SIZE(new_usage); i++)
+		free_percpu(new_usage[i]);
 	kfree(new_base);
 	return ret;
 err:
-- 
2.30.2