freebsd-nq/sys/net
Robert Watson 46448b5a1b Reformulate bpf_dettachd() to acquire the BIF_LOCK() as well as
BPFD_LOCK() when removing a descriptor from an interface descriptor
list.  Hold both over the operation, and do a better job at
maintaining the invariant that you can't find partially connected
descriptors on an active interface descriptor list.

This appears to close a race that resulted in the kernel performing
a NULL pointer dereference when BPF sessions are detached during
heavy network activity on SMP systems.

RELENG_5 candidate.
2004-09-09 04:11:12 +00:00
..
bpf_compat.h
bpf_filter.c
bpf.c Reformulate bpf_dettachd() to acquire the BIF_LOCK() as well as 2004-09-09 04:11:12 +00:00
bpf.h
bpfdesc.h Reformulate use of linked lists in 'struct bpf_d' and 'struct bpf_if' 2004-09-09 00:19:27 +00:00
bridge.c Always compile PFIL_HOOKS into the kernel and remove the associated kernel 2004-08-27 15:16:24 +00:00
bridge.h
bsd_comp.c
ethernet.h
fddi.h
firewire.h
if_arc.h
if_arcsubr.c
if_arp.h
if_atm.h
if_atmsubr.c
if_clone.c When removing the last reference to a cloner, do not try to unlock twice - 2004-07-20 21:44:28 +00:00
if_clone.h
if_disc.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
if_dl.h
if_ef.c Initialize ; variable eraly to shut up GCC warning. 2004-07-28 06:48:36 +00:00
if_ethersubr.c Add a new network interface flag, IFF_NEEDSGIANT, which will allow 2004-07-27 23:20:45 +00:00
if_faith.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
if_fddisubr.c
if_fwsubr.c Revert previous revision, 1.7, as removal of GIANT_REQUIRED was made 2004-08-24 14:17:58 +00:00
if_gif.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
if_gif.h
if_gre.c Set ip_v field properly. 2004-08-05 08:12:46 +00:00
if_gre.h
if_iso88025subr.c
if_llc.h
if_loop.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
if_media.c
if_media.h Added two new media types for 10GBASE-SR and 10GBASE-LR 2004-08-12 23:48:26 +00:00
if_mib.c
if_mib.h
if_ppp.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
if_ppp.h
if_pppvar.h
if_sl.c Use an ANSI-style definition for slstart() 2004-08-30 04:48:52 +00:00
if_slvar.h
if_sppp.h
if_spppsubr.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
if_stf.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
if_stf.h
if_tap.c Set IFF_RUNNING flag on the interface as soon as the control device is opened. 2004-08-11 00:12:27 +00:00
if_tap.h
if_tapvar.h
if_tun.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
if_tun.h
if_types.h
if_var.h Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
if_vlan_var.h
if_vlan.c Add locking to the kqueue subsystem. This also makes the kqueue subsystem 2004-08-15 06:24:42 +00:00
if.c Re-add ifi_epoch, to struct if_data, this time replacing ifi_unused 2004-09-08 04:50:55 +00:00
if.h Re-add ifi_epoch, to struct if_data, this time replacing ifi_unused 2004-09-08 04:50:55 +00:00
iso88025.h
net_osdep.c
net_osdep.h
netisr.c Correct a comment typo: s/Note/Not/. 2004-09-03 01:37:02 +00:00
netisr.h
pfil.c
pfil.h
pfkeyv2.h
ppp_comp.h
ppp_deflate.c
ppp_defs.h
ppp_tty.c Preparation commit for the tty cleanups that will follow in the near 2004-07-15 20:47:41 +00:00
radix.c
radix.h
raw_cb.c
raw_cb.h
raw_usrreq.c
route.c When a prison is given the ability to create raw sockets (when the 2004-08-21 17:38:57 +00:00
route.h Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
rtsock.c Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
slcompress.c
slcompress.h
slip.h
zlib.c
zlib.h