freebsd-dev/sys/contrib/pf/net
Andrew Thompson febd0759f3 Change the reference counting to count the number of cloned interfaces for each
cloner. This ensures that ifc->ifc_units is not prematurely freed in
if_clone_detach() before the clones are destroyed, resulting in memory modified
after free. This could be triggered with if_vlan.

Assert that all cloners have been destroyed when freeing the memory.

Change all simple cloners to destroy their clones with ifc_simple_destroy() on
module unload so the reference count is properly updated. This also cleans up
the interface destroy routines and allows future optimisation.

Discussed with:	brooks, pjd, -current
Reviewed by:	brooks
2005-10-12 19:52:16 +00:00
..
if_pflog.c Change the reference counting to count the number of cloned interfaces for each 2005-10-12 19:52:16 +00:00
if_pflog.h Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
if_pfsync.c Change the reference counting to count the number of cloned interfaces for each 2005-10-12 19:52:16 +00:00
if_pfsync.h Defer ip_output of pfsync updates to an independent callout thread instead 2005-06-10 17:23:49 +00:00
pf_if.c Resolve conflicts created during the import of pf 3.7 Some features are 2005-05-03 16:43:32 +00:00
pf_ioctl.c Commit imported changes to HEAD: 2005-09-08 15:06:52 +00:00
pf_norm.c move RFC3542 related definitions into ip6.h. 2005-07-20 10:30:52 +00:00
pf_osfp.c Resolve conflicts created during the import of pf 3.7 Some features are 2005-05-03 16:43:32 +00:00
pf_subr.c Commit pf version 3.5 and link additional files to the kernel build. 2004-06-16 23:24:02 +00:00
pf_table.c Make LINT happy. 2005-05-04 15:29:28 +00:00
pf.c Unbreak the build. Committed from the wrong directory. 2005-09-08 17:42:42 +00:00
pfvar.h Prevent a race condition. As pf_send_tcp() - called for expired synproxy 2005-07-20 18:58:27 +00:00