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>