diff --git a/fs/bcachefs/fsck.c b/fs/bcachefs/fsck.c index e6036d36e0f9..4a48ef5d1bfb 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 81aba8caab9e..5a8b0a7b7197 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: