cvs commit: src/sys/kern kern_descrip.c uipc_socket.c
uipc_syscalls.c uipc_usrreq.c src/sys/net raw_cb.c raw_usrreq.c
src/sys/netatm atm_socket.c src/sys/netatalk ddp_pcb.c...
Robert Watson
rwatson at FreeBSD.org
Sat Jun 12 20:47:50 GMT 2004
rwatson 2004-06-12 20:47:32 UTC
FreeBSD src repository
Modified files:
sys/kern kern_descrip.c uipc_socket.c
uipc_syscalls.c uipc_usrreq.c
sys/net raw_cb.c raw_usrreq.c
sys/netatm atm_socket.c
sys/netatalk ddp_pcb.c
sys/netgraph ng_ksocket.c
sys/netgraph/bluetooth/socket ng_btsocket_hci_raw.c
ng_btsocket_l2cap.c
ng_btsocket_l2cap_raw.c
ng_btsocket_rfcomm.c
sys/netinet in_pcb.c tcp_subr.c
sys/netipx ipx_pcb.c ipx_usrreq.c
sys/netnatm natm.c
sys/sys socketvar.h
Log:
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
Revision Changes Path
1.233 +3 -0 src/sys/kern/kern_descrip.c
1.177 +10 -1 src/sys/kern/uipc_socket.c
1.190 +7 -0 src/sys/kern/uipc_syscalls.c
1.123 +1 -0 src/sys/kern/uipc_usrreq.c
1.28 +3 -0 src/sys/net/raw_cb.c
1.33 +3 -1 src/sys/net/raw_usrreq.c
1.43 +1 -0 src/sys/netatalk/ddp_pcb.c
1.20 +1 -0 src/sys/netatm/atm_socket.c
1.15 +1 -0 src/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c
1.13 +2 -0 src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
1.12 +1 -0 src/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c
1.9 +3 -0 src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c
1.43 +2 -0 src/sys/netgraph/ng_ksocket.c
1.148 +1 -0 src/sys/netinet/in_pcb.c
1.190 +3 -2 src/sys/netinet/tcp_subr.c
1.28 +1 -0 src/sys/netipx/ipx_pcb.c
1.40 +2 -1 src/sys/netipx/ipx_usrreq.c
1.33 +2 -0 src/sys/netnatm/natm.c
1.119 +8 -1 src/sys/sys/socketvar.h
More information about the cvs-src
mailing list