From 7571033285e2f83bf163e0cec31fd2b352beed30 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 23 Sep 2016 10:55:10 -0700 Subject: [PATCH] Fix multilist_create() memory leak In arc_state_fini() the `arc_l2c_only->arcs_list[*]` multilists must be destroyed. This accidentally regressed in d3c2ae1c. Reviewed by: Tom Caputi Signed-off-by: Brian Behlendorf Issue #5151 Closes #5152 --- module/zfs/arc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/module/zfs/arc.c b/module/zfs/arc.c index f848c4c09..f1f61291c 100755 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -6265,6 +6265,8 @@ arc_state_fini(void) multilist_destroy(&arc_mru_ghost->arcs_list[ARC_BUFC_DATA]); multilist_destroy(&arc_mfu->arcs_list[ARC_BUFC_DATA]); multilist_destroy(&arc_mfu_ghost->arcs_list[ARC_BUFC_DATA]); + multilist_destroy(&arc_l2c_only->arcs_list[ARC_BUFC_METADATA]); + multilist_destroy(&arc_l2c_only->arcs_list[ARC_BUFC_DATA]); } uint64_t