freebsd-skq/sys
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
..
alpha Remove an unused #include. 2004-06-12 06:03:27 +00:00
amd64 In a multiprocessor, the PG_W bit in the pte must be changed atomically. 2004-06-12 20:01:48 +00:00
arm Remove filename+line number from panic messages. 2004-06-06 21:26:49 +00:00
boot Merge boot0 and boot0sio so they behave the same. 2004-06-11 09:45:18 +00:00
cam Reformat the comments for cam_hdr so that they can be read. 2004-06-07 19:12:44 +00:00
coda add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
compat Deorbit COMPAT_SUNOS. 2004-06-11 11:16:26 +00:00
conf Move uma_small_alloc() and uma_small_free() out of the pmap and into their 2004-06-11 19:55:56 +00:00
contrib Add an additional queue which will be "owned by the driver". This allows to 2004-06-12 18:47:24 +00:00
crypto
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev When autosense is retrieved, tell CAM about it instead of juust pretending 2004-06-12 05:19:17 +00:00
fs Add MSG_NBIO flag option to soreceive() and sosend() that causes 2004-06-01 01:18:51 +00:00
geom Make the sysctl kern.geom.collectstats more granular. 2004-06-09 19:44:44 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
i386 In a multiprocessor, the PG_W bit in the pte must be changed atomically. 2004-06-12 20:01:48 +00:00
ia64 Neither pmap_enter() nor pmap_enter_quick() should create pv entries for 2004-06-11 20:11:41 +00:00
isa Remove atdevbase and replace it's remaining uses with direct references to 2004-06-10 20:31:00 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules Fix typo that prevents esp_sbus.c and lsi64854.c from being built on sparc64. 2004-06-10 13:02:29 +00:00
net Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
net80211 Add some missing <sys/module.h> includes which are masked by the 2004-05-30 17:57:46 +00:00
netatalk Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netatm Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netgraph Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netinet Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netinet6 do not check super user privilege in ip6_savecontrol. It is 2004-06-02 15:41:18 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netkey
netnatm Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netncp add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
netsmb add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver Giant wasn't dropped here if we have to return EBUSY. This is bad. 2004-05-31 20:21:06 +00:00
opencrypto add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
pc98 Deorbit COMPAT_SUNOS. 2004-06-11 11:16:26 +00:00
pccard Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci Replace handrolled CRC calculation with ether_crc32_[lb]e(). 2004-06-09 14:34:04 +00:00
posix4
powerpc Remove checks for curthread == NULL - it can't happen. 2004-06-03 10:22:47 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security add missing #include <sys/module.h> 2004-05-30 20:27:19 +00:00
sparc64 Add esp to the sparc64 GENERIC 2004-06-10 05:24:34 +00:00
sys Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
tools devlist2h.awk is too generic a name for what it does. It really 2004-05-26 00:19:39 +00:00
ufs Avoid assignments to cast expressions. 2004-06-08 13:08:19 +00:00
vm Deorbit COMPAT_SUNOS. 2004-06-11 11:16:26 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00