From 357d68d74c369bd09c21fd98ca5e7a9821f8254f Mon Sep 17 00:00:00 2001
From: Guy Zana <guy@cloudius-systems.com>
Date: Wed, 22 May 2013 12:56:07 +0300
Subject: [PATCH] uma: fix order to finit/dtor in uma_zfree()

the mbuf ext buffer is freed in the dtor, so it should be called before finit.
this is fixing a crash that surfaced by using the conf-memory-debug=1
---
 bsd/porting/uma_stub.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/bsd/porting/uma_stub.c b/bsd/porting/uma_stub.c
index 63575d6da..5480d9772 100644
--- a/bsd/porting/uma_stub.c
+++ b/bsd/porting/uma_stub.c
@@ -46,14 +46,14 @@ void uma_zfree_arg(uma_zone_t zone, void *item, void *udata)
         return;
     }
 
-    if (zone->uz_fini) {
-        zone->uz_fini(item, zone->uz_size);
-    }
-
     if (zone->uz_dtor) {
         zone->uz_dtor(item, zone->uz_size, udata);
     }
 
+    if (zone->uz_fini) {
+        zone->uz_fini(item, zone->uz_size);
+    }
+
     free(item);
 }
 
-- 
GitLab