summaryrefslogtreecommitdiffstats
path: root/sys/net
diff options
context:
space:
mode:
authorrodrigc <rodrigc@FreeBSD.org>2013-11-25 20:33:33 +0000
committerrodrigc <rodrigc@FreeBSD.org>2013-11-25 20:33:33 +0000
commit7064342be9ecf214e8d44fcfd515b8673dc8c43b (patch)
treee1f6dfaae2c36f476dd7bd25d6b91090c00f481c /sys/net
parent94f555fd4f627d060f483a62288b633532b09fa2 (diff)
downloadFreeBSD-src-7064342be9ecf214e8d44fcfd515b8673dc8c43b.zip
FreeBSD-src-7064342be9ecf214e8d44fcfd515b8673dc8c43b.tar.gz
In vnet_route_uninit(), free some memory that is allocated in vnet_route_init().
To reproduce the problem: (1) Take a GENERIC kernel config, and add options for: VIMAGE, WITNESS, INVARIANTS. (2) Run this command in a loop: jail -l -u root -c path=/ name=foo persist vnet && jexec foo ifconfig lo0 127.0.0.1/8 && jail -r foo see: http://lists.freebsd.org/pipermail/freebsd-current/2010-November/021280.html http://lists.freebsd.org/pipermail/freebsd-current/2010-November/021291.html This doesn't eliminate all the "Freed UMA keg was not empty" warning messages on the console, but it helps.
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/route.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net/route.c b/sys/net/route.c
index a64c669..dd32980 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -255,6 +255,9 @@ vnet_route_uninit(const void *unused __unused)
dom->dom_rtdetach((void **)rnh, dom->dom_rtoffset);
}
}
+
+ free(V_rt_tables, M_RTABLE);
+ uma_zdestroy(V_rtzone);
}
VNET_SYSUNINIT(vnet_route_uninit, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD,
vnet_route_uninit, 0);
OpenPOWER on IntegriCloud