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.
This commit is contained in:
parent
94f555fd4f
commit
7064342be9
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user