freebsd-src/sys/net
Robert Watson d2c205d5de A few locking fixes and cleanups to pfil hook registration,
unregistration, and execution:

- Add some brackets for clarity and trim a bit of vertical whitespace.
- Remove comments that may not contribute to clarity, such as "Lock"
  before acquiring a lock and "Get memory" before allocating memory.
- During hook registration, don't drop pfil_list_lock between checking
  for a duplicate and registering the hook, as this leaves a race
  condition by failing to enforce the "no duplicate hooks" invariant.
- Don't lock the hook during registration, since it's not yet in use.
- Document assumption that hooks will be quiesced before being
  unregistered.
- Don't write-lock hooks during removal because they are assumed
  quiesced.
- Rename "done" label to "locked_error" to be clear that it's an error
  path on the way out of hook execution.

MFC after:	pretty soon
2008-12-16 17:03:22 +00:00
..
bpf.c Merge more of currently non-functional (i.e. resolving to 2008-11-26 22:32:07 +00:00
bpf.h Revert the previous commit to fix buildworld for now. 2008-08-26 16:12:49 +00:00
bpf_buffer.c Fill in BPF sysctl descriptions. 2008-07-25 23:58:09 +00:00
bpf_buffer.h Introduce support for zero-copy BPF buffering, which reduces the 2008-03-24 13:49:17 +00:00
bpf_filter.c Fix the last missing parentheses for a return statement in bpf_filter.c. 2008-08-29 20:00:55 +00:00
bpf_jitter.c Initialize scratch memory for JIT-compiled filter when it is allocated. 2008-08-28 16:40:51 +00:00
bpf_jitter.h Fix a typo in copyrights. 2008-08-25 20:43:13 +00:00
bpf_zerocopy.c Make sure we are clearing the ZBUF_FLAG_IMMUTABLE any time a free buffer 2008-07-05 20:11:28 +00:00
bpf_zerocopy.h Make sure we are clearing the ZBUF_FLAG_IMMUTABLE any time a free buffer 2008-07-05 20:11:28 +00:00
bpfdesc.h Remove trailing ';' in BPFD_LOCK_ASSERT macro. 2008-08-01 22:08:14 +00:00
bridgestp.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
bridgestp.h Fix spelling. 2007-12-09 20:47:12 +00:00
bsd_comp.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ethernet.h Move CTASSERT of ether header sizes out of the header file and into 2008-08-27 17:10:37 +00:00
fddi.h
firewire.h
ieee8023ad_lacp.c Switch the LACP state machine over to its own mutex to protect the internals, 2008-03-16 19:25:30 +00:00
ieee8023ad_lacp.h Remove extra semicolons. 2008-03-17 01:26:44 +00:00
if.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if.h Fix to bug kern/126850. Only dispatch event hander if the 2008-08-28 22:05:19 +00:00
if_arc.h
if_arcsubr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_arp.h
if_atm.h
if_atmsubr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_bridge.c Conditionally compile out V_ globals while instantiating the appropriate 2008-12-10 23:12:39 +00:00
if_bridgevar.h Add an option to limit the number of source MACs that can be behind a bridge 2007-11-04 08:32:27 +00:00
if_clone.c Fix clone destruction, can't use the simple api because that does not remove 2008-09-20 19:38:37 +00:00
if_clone.h Fix clone destruction, can't use the simple api because that does not remove 2008-09-20 19:38:37 +00:00
if_disc.c Add a comment explaining why disc(4) bears the IFF_LOOPBACK flag. 2007-10-27 19:57:41 +00:00
if_dl.h
if_edsc.c Give a hint that softc can contain many things besides ifp. 2007-03-26 09:05:10 +00:00
if_ef.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_enc.c Increase statistic counters for enc0 interface when enabled 2008-08-12 09:05:01 +00:00
if_enc.h Increase statistic counters for enc0 interface when enabled 2008-08-12 09:05:01 +00:00
if_ethersubr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_faith.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_fddisubr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_fwsubr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_gif.c Conditionally compile out V_ globals while instantiating the appropriate 2008-12-10 23:12:39 +00:00
if_gif.h Conditionally compile out V_ globals while instantiating the appropriate 2008-12-10 23:12:39 +00:00
if_gre.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_gre.h Add support for the optional key in the GRE header. 2008-06-20 17:26:34 +00:00
if_iso88025subr.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_lagg.c convert calls to IFQ_HANDOFF to if_transmit 2008-11-22 07:35:45 +00:00
if_lagg.h Fix two panics in lagg. 2007-10-12 03:03:16 +00:00
if_llatbl.c style and spelling fix 2008-12-16 04:41:39 +00:00
if_llatbl.h add macro for destroying an llentry's rwlock 2008-12-16 00:20:15 +00:00
if_llc.h Move the __packed declarations. This makes sizeof(struct llc) 8 again 2006-12-01 17:50:11 +00:00
if_loop.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_media.c
if_media.h Make "1000baseT" the description and "1000baseTX" the alias for 2008-08-01 22:13:39 +00:00
if_mib.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_mib.h
if_ppp.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
if_ppp.h
if_pppvar.h Use callout mechanism instead of timeout()/untimeout(). 2006-12-05 18:54:21 +00:00
if_sl.c Fix a number of style issues in the MALLOC / FREE commit. I've tried to 2008-10-23 20:26:15 +00:00
if_slvar.h
if_sppp.h
if_spppfr.c
if_spppsubr.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_stf.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_stf.h
if_tap.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
if_tap.h Add new TAPGIFNAME tap(4) character device ioctl. This is a 2008-09-08 22:43:55 +00:00
if_tapvar.h
if_tun.c Consider processes attaching/detaching from tun(4) devices as being link 2008-12-12 01:36:50 +00:00
if_tun.h
if_types.h Remove IPX over IP tunneling support, which allows IPX routing over IP 2007-06-13 14:01:43 +00:00
if_var.h This main goals of this project are: 2008-12-15 06:10:57 +00:00
if_vlan.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
if_vlan_var.h Prepare for 802.1p: 2007-02-28 22:05:30 +00:00
iso88025.h
netisr.c Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
netisr.h Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly 2008-07-04 00:21:38 +00:00
pfil.c A few locking fixes and cleanups to pfil hook registration, 2008-12-16 17:03:22 +00:00
pfil.h Line wrap very long line in struct packet_filter_hook definition. 2008-12-13 12:03:21 +00:00
pfkeyv2.h Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ppp_comp.h
ppp_deflate.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ppp_defs.h
ppp_tty.c Use callout mechanism instead of timeout()/untimeout(). 2006-12-05 18:54:21 +00:00
radix.c remove assertion checks for now - ipfw uses its own lock for protecting its radix tree instance 2008-12-16 11:01:36 +00:00
radix.h - convert radix node head lock from mutex to rwlock 2008-12-07 21:15:43 +00:00
radix_mpath.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
radix_mpath.h When RADIX_MPATH is enabled, the route selection is not rotating 2008-05-30 09:34:35 +00:00
raw_cb.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
raw_cb.h Put a global variables, which were virtualized but formerly 2008-12-11 16:26:38 +00:00
raw_usrreq.c Rather than using hidden includes (with cicular dependencies), 2008-12-02 21:37:28 +00:00
route.c style and spelling fix 2008-12-16 04:41:39 +00:00
route.h This main goals of this project are: 2008-12-15 06:10:57 +00:00
rtsock.c This main goals of this project are: 2008-12-15 06:10:57 +00:00
slcompress.c
slcompress.h
slip.h
vnet.h Conditionally compile out V_ globals while instantiating the appropriate 2008-12-10 23:12:39 +00:00
zlib.c
zlib.h