Date: Sun, 19 May 2002 22:41:09 -0700 (PDT) From: Seigo Tanimura <tanimura@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/compat/svr4 svr4_filio.c svr4_ioctl.c src/sys/fs/fifofs fifo_vnops.c src/sys/fs/portalfs portal_vnops.c src/sys/kern kern_descrip.c sys_socket.c uipc_domain.c uipc_socket.c uipc_socket2.c uipc_syscalls.c uipc_usrreq.c ... Message-ID: <200205200541.g4K5f9D04751@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
tanimura 2002/05/19 22:41:09 PDT
Modified files:
sys/compat/svr4 svr4_filio.c svr4_ioctl.c
sys/fs/fifofs fifo_vnops.c
sys/fs/portalfs portal_vnops.c
sys/kern kern_descrip.c sys_socket.c uipc_domain.c
uipc_socket.c uipc_socket2.c
uipc_syscalls.c uipc_usrreq.c vfs_aio.c
sys/net raw_cb.c raw_usrreq.c rtsock.c
sys/netatalk ddp_input.c ddp_usrreq.c
sys/netatm atm_aal5.c atm_socket.c
sys/netgraph ng_ksocket.c ng_socket.c
sys/netinet accf_data.c accf_http.c in_pcb.c
ip_divert.c ip_input.c ip_mroute.c
raw_ip.c tcp_input.c tcp_output.c
tcp_subr.c tcp_timer.c tcp_usrreq.c
udp_usrreq.c
sys/netinet6 icmp6.c in6_pcb.c in6_src.c ip6_input.c
ip6_mroute.c raw_ip6.c udp6_usrreq.c
sys/netipx ipx_pcb.c ipx_usrreq.c spx_usrreq.c
sys/netkey keysock.c
sys/netnatm natm.c
sys/netncp ncp_sock.c
sys/netns idp_usrreq.c ns.c ns_pcb.c spp_usrreq.c
sys/netsmb smb_trantcp.c
sys/nfsclient bootp_subr.c nfs_socket.c
sys/nfsserver nfs_srvsock.c
sys/security/lomac kernel_interface.c kernel_socket.c
sys/sys socketvar.h
Log:
Lock down a socket, milestone 1.
o Add a mutex (sb_mtx) to struct sockbuf. This protects the data in a
socket buffer. The mutex in the receive buffer also protects the data
in struct socket.
o Determine the lock strategy for each members in struct socket.
o Lock down the following members:
- so_count
- so_options
- so_linger
- so_state
o Remove *_locked() socket APIs. Make the following socket APIs
touching the members above now require a locked socket:
- sodisconnect()
- soisconnected()
- soisconnecting()
- soisdisconnected()
- soisdisconnecting()
- sofree()
- soref()
- sorele()
- sorwakeup()
- sotryfree()
- sowakeup()
- sowwakeup()
Reviewed by: alfred
Revision Changes Path
1.14 +10 -6 src/sys/compat/svr4/svr4_filio.c
1.13 +13 -4 src/sys/compat/svr4/svr4_ioctl.c
1.68 +28 -4 src/sys/fs/fifofs/fifo_vnops.c
1.49 +21 -12 src/sys/fs/portalfs/portal_vnops.c
1.147 +5 -2 src/sys/kern/kern_descrip.c
1.39 +8 -0 src/sys/kern/sys_socket.c
1.29 +5 -3 src/sys/kern/uipc_domain.c
1.119 +177 -31 src/sys/kern/uipc_socket.c
1.93 +68 -59 src/sys/kern/uipc_socket2.c
1.110 +35 -2 src/sys/kern/uipc_syscalls.c
1.91 +33 -2 src/sys/kern/uipc_usrreq.c
1.129 +3 -0 src/sys/kern/vfs_aio.c
1.18 +10 -3 src/sys/net/raw_cb.c
1.24 +10 -0 src/sys/net/raw_usrreq.c
1.73 +7 -2 src/sys/net/rtsock.c
1.15 +2 -0 src/sys/netatalk/ddp_input.c
1.26 +9 -1 src/sys/netatalk/ddp_usrreq.c
1.15 +13 -2 src/sys/netatm/atm_aal5.c
1.12 +20 -1 src/sys/netatm/atm_socket.c
1.29 +49 -11 src/sys/netgraph/ng_ksocket.c
1.36 +16 -0 src/sys/netgraph/ng_socket.c
1.7 +8 -2 src/sys/netinet/accf_data.c
1.11 +25 -6 src/sys/netinet/accf_http.c
1.104 +51 -26 src/sys/netinet/in_pcb.c
1.60 +18 -3 src/sys/netinet/ip_divert.c
1.197 +4 -1 src/sys/netinet/ip_input.c
1.75 +2 -0 src/sys/netinet/ip_mroute.c
1.94 +43 -9 src/sys/netinet/raw_ip.c
1.157 +86 -16 src/sys/netinet/tcp_input.c
1.60 +14 -3 src/sys/netinet/tcp_output.c
1.128 +13 -1 src/sys/netinet/tcp_subr.c
1.49 +51 -17 src/sys/netinet/tcp_timer.c
1.73 +51 -12 src/sys/netinet/tcp_usrreq.c
1.109 +34 -7 src/sys/netinet/udp_usrreq.c
1.19 +8 -2 src/sys/netinet6/icmp6.c
1.27 +48 -20 src/sys/netinet6/in6_pcb.c
1.9 +2 -0 src/sys/netinet6/in6_src.c
1.36 +4 -1 src/sys/netinet6/ip6_input.c
1.13 +2 -0 src/sys/netinet6/ip6_mroute.c
1.19 +38 -7 src/sys/netinet6/raw_ip6.c
1.26 +49 -8 src/sys/netinet6/udp6_usrreq.c
1.24 +15 -3 src/sys/netipx/ipx_pcb.c
1.33 +27 -4 src/sys/netipx/ipx_usrreq.c
1.34 +67 -13 src/sys/netipx/spx_usrreq.c
1.14 +5 -1 src/sys/netkey/keysock.c
1.18 +12 -0 src/sys/netnatm/natm.c
1.8 +5 -2 src/sys/netncp/ncp_sock.c
1.11 +30 -4 src/sys/netns/idp_usrreq.c
1.10 +5 -1 src/sys/netns/ns.c
1.11 +20 -4 src/sys/netns/ns_pcb.c
1.13 +75 -16 src/sys/netns/spp_usrreq.c
1.11 +9 -1 src/sys/netsmb/smb_trantcp.c
1.39 +6 -1 src/sys/nfsclient/bootp_subr.c
1.79 +15 -4 src/sys/nfsclient/nfs_socket.c
1.74 +6 -2 src/sys/nfsserver/nfs_srvsock.c
1.3 +9 -2 src/sys/security/lomac/kernel_interface.c
1.8 +48 -14 src/sys/security/lomac/kernel_socket.c
1.81 +92 -71 src/sys/sys/socketvar.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205200541.g4K5f9D04751>
