summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_taskqueue.c
diff options
context:
space:
mode:
authortrociny <trociny@FreeBSD.org>2013-08-24 11:59:51 +0000
committertrociny <trociny@FreeBSD.org>2013-08-24 11:59:51 +0000
commit583ac348099c237361e8e965845ae09e8bb4255f (patch)
treed628f5d99b3cb1361e93964bb24345f2650ab5c7 /sys/kern/subr_taskqueue.c
parent25d6b936a0bde081d420f4187dfdd4111f5ded48 (diff)
downloadFreeBSD-src-583ac348099c237361e8e965845ae09e8bb4255f.zip
FreeBSD-src-583ac348099c237361e8e965845ae09e8bb4255f.tar.gz
Make ipfw nat init/unint work correctly for VIMAGE:
* Do per vnet instance cleanup (previously it was only for vnet0 on module unload, and led to libalias leaks and possible panics due to stale pointer dereferences). * Instead of protecting ipfw hooks registering/deregistering by only vnet0 lock (which does not prevent pointers access from another vnets), introduce per vnet ipfw_nat_loaded variable. The variable is set after hooks are registered and unset before they are deregistered. * Devirtualize ifaddr_event_tag as we run only one event handler for all vnets. * It is supposed that ifaddr_change event handler is called in the interface vnet context, so add an assertion. Reviewed by: zec MFC after: 2 weeks
Diffstat (limited to 'sys/kern/subr_taskqueue.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud