Hans Petter Selasky c8cfbc066f Properly drain callouts in the IPFW subsystem to avoid use after free
panics when unloading the dummynet and IPFW modules:

- The callout drain function can sleep and should not be called having
a non-sleepable lock locked. Remove locks around "ipfw_dyn_uninit(0)".

- Add a new "dn_gone" variable to prevent asynchronous restart of
dummynet callouts when unloading the dummynet kernel module.

- Call "dn_reschedule()" locked so that "dn_gone" can be set and
checked atomically with regard to starting a new callout.

Reviewed by:	hiren
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D3855
2015-12-15 09:02:05 +00:00
..
2015-12-15 04:51:50 +00:00
2015-12-13 11:30:36 +00:00
2015-12-13 16:37:01 +00:00
2015-11-19 08:04:05 +00:00
2015-12-13 04:15:10 +00:00
2015-11-12 10:31:14 +00:00