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