freebsd-nq/sys/net
Robert Watson 395a08c904 Extend coverage of SOCK_LOCK(so) to include so_count, the socket
reference count:

- Assert SOCK_LOCK(so) macros that directly manipulate so_count:
  soref(), sorele().

- Assert SOCK_LOCK(so) in macros/functions that rely on the state of
  so_count: sofree(), sotryfree().

- Acquire SOCK_LOCK(so) before calling these functions or macros in
  various contexts in the stack, both at the socket and protocol
  layers.

- In some cases, perform soisdisconnected() before sotryfree(), as
  this could result in frobbing of a non-present socket if
  sotryfree() actually frees the socket.

- Note that sofree()/sotryfree() will release the socket lock even if
  they don't free the socket.

Submitted by:	sam
Sponsored by:	FreeBSD Foundation
Obtained from:	BSD/OS
2004-06-12 20:47:32 +00:00
..
bpf_compat.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpf_filter.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bpf.c Switch to conditionally acquiring and dropping Giant around calls into 2004-06-11 03:47:21 +00:00
bpf.h Make the comment for DLT_NULL slightly more accurate. 2004-05-30 17:03:48 +00:00
bpfdesc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
bridge.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
bridge.h
bsd_comp.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
ethernet.h Add helper functions to calculate the standard ethernet CRC in 2004-06-02 21:34:14 +00:00
fddi.h
if_arc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_arcsubr.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_arp.h + rename and document an unused field in struct arpcom (field is still 2004-04-18 01:15:32 +00:00
if_atm.h Add a device type for virtual interfaces. 2004-01-26 12:13:11 +00:00
if_atmsubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_disc.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_dl.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_ef.c Remove another redundant if_output initialization. 2004-05-24 11:01:45 +00:00
if_ethersubr.c Add helper functions to calculate the standard ethernet CRC in 2004-06-02 21:34:14 +00:00
if_faith.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_fddisubr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_gif.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_gif.h Properly detect loops by recording the interface pointer in an mtag. 2004-04-05 16:55:15 +00:00
if_gre.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_gre.h Lock down global variables in if_gre: 2004-03-22 16:04:43 +00:00
if_iso88025subr.c This commit does two things: 2004-04-25 09:24:52 +00:00
if_llc.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_loop.c Staticize <if>_clone_{create,destroy} functions. 2004-04-14 00:57:49 +00:00
if_media.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
if_media.h Add Direct Sequence 354K and 512K (needed for arl(4)). 2004-04-13 19:23:46 +00:00
if_mib.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
if_mib.h
if_ppp.c First pass at softc list locking for if_ppp.c. Many parts of 2004-04-19 01:36:24 +00:00
if_ppp.h
if_pppvar.h
if_sl.c Use ldisc_[de]register() instead of frobbing linesw[] directly. 2004-06-07 20:43:37 +00:00
if_slvar.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_sppp.h
if_spppsubr.c Keepalive timer should be added if we does not have any sppp consumers before 2004-05-25 21:54:07 +00:00
if_stf.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_stf.h
if_tap.c add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
if_tap.h
if_tapvar.h Add tap_mtx to tap_softc in order to protect per-softc variables 2004-03-17 01:09:59 +00:00
if_tun.c Add per-softc locking to if_tun: 2004-03-29 22:16:39 +00:00
if_tun.h
if_types.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
if_var.h Link state change notification of ethernet media to the routing socket. 2004-05-03 13:48:35 +00:00
if_vlan_var.h A network interface driver can support IFCAP_VLAN_MTU only, 2004-01-18 19:29:04 +00:00
if_vlan.c if_printf() won't emit a newline unless told to. 2004-05-26 11:41:26 +00:00
if.c arpcom untangling: 2004-04-24 22:24:48 +00:00
if.h Link state change notification of ethernet media to the routing socket. 2004-05-03 13:48:35 +00:00
iso88025.h Fix whitespace issues. 2003-03-15 23:55:33 +00:00
net_osdep.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
net_osdep.h - update comments to refrect recent BSDs. 2003-11-04 14:08:31 +00:00
netisr.c o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
netisr.h Introduce a netisr to deliver kernel-generated routing, avoiding 2004-06-09 02:48:23 +00:00
pfil.c o update PFIL_HOOKS support to current API used by netbsd 2003-09-23 17:54:04 +00:00
pfil.h o update PFIL_HOOKS support to current API used by netbsd 2003-09-23 17:54:04 +00:00
pfkeyv2.h Initial import of RFC 2385 (TCP-MD5) digest support. 2004-02-11 04:26:04 +00:00
ppp_comp.h
ppp_deflate.c
ppp_defs.h
ppp_tty.c Replace the if_name and if_unit members of struct ifnet with new members 2003-10-31 18:32:15 +00:00
radix.c Readability fixes: 2004-04-21 15:27:36 +00:00
radix.h + move MKGet()/MKFree() into the only file that can use them. 2004-04-18 11:48:35 +00:00
raw_cb.c Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
raw_cb.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
raw_usrreq.c Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
route.c fix one typo and remove one wrong line 2004-04-25 01:39:00 +00:00
route.h document the locking behaviour of the functions that access 2004-04-24 23:34:04 +00:00
rtsock.c Introduce a netisr to deliver kernel-generated routing, avoiding 2004-06-09 02:48:23 +00:00
slcompress.c Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
slcompress.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
slip.h Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
zlib.c
zlib.h