diff --git a/net/ceph/crush/crush.c b/net/ceph/crush/crush.c
index b93575f4eb13bcee249f0c9df9c9247a9a7905ff..089613234f032610c05f25a239c1d2053e768b45 100644
--- a/net/ceph/crush/crush.c
+++ b/net/ceph/crush/crush.c
@@ -62,6 +62,8 @@ void crush_destroy_bucket_list(struct crush_bucket_list *b)
 
 void crush_destroy_bucket_tree(struct crush_bucket_tree *b)
 {
+	kfree(b->h.perm);
+	kfree(b->h.items);
 	kfree(b->node_weights);
 	kfree(b);
 }