Module Name: src Committed By: rtr Date: Fri Apr 3 20:01:08 UTC 2015
Modified Files: src/sys/compat/linux/common: linux_socket.c src/sys/compat/svr4: svr4_stream.c src/sys/kern: uipc_socket.c uipc_syscalls.c uipc_usrreq.c src/sys/net: if_gre.c link_proto.c rtsock.c src/sys/netatalk: ddp_usrreq.c src/sys/netbt: hci_socket.c l2cap_socket.c rfcomm_socket.c sco_socket.c src/sys/netinet: in_pcb.c in_pcb.h raw_ip.c tcp_usrreq.c udp_usrreq.c src/sys/netinet6: in6_pcb.c in6_pcb.h raw_ip6.c udp6_usrreq.c src/sys/netipsec: keysock.c src/sys/netmpls: mpls_proto.c src/sys/netnatm: natm.c src/sys/nfs: nfs_boot.c nfs_socket.c src/sys/rump/net/lib/libsockin: sockin.c src/sys/sys: param.h protosw.h socket.h socketvar.h Log Message: * change pr_bind to accept struct sockaddr * instead of struct mbuf * * update protocol bind implementations to use/expect sockaddr * instead of mbuf * * introduce sockaddr_big struct for storage of addr data passed via sys_bind; sockaddr_big is of sufficient size and alignment to accommodate all addr data sizes received. * modify sys_bind to allocate sockaddr_big instead of using an mbuf. * bump kernel version to 7.99.9 for change to pr_bind() parameter type. Patch posted to tech-net@ http://mail-index.netbsd.org/tech-net/2015/03/15/msg005004.html The choice to use a new structure sockaddr_big has been retained since changing sockaddr_storage size would lead to unnecessary ABI change. The use of the new structure does not preclude future work that increases the size of sockaddr_storage and at that time sockaddr_big may be trivially replaced. Tested by mrg@ and myself, discussed with rmind@, posted to tech-net@ To generate a diff of this commit: cvs rdiff -u -r1.122 -r1.123 src/sys/compat/linux/common/linux_socket.c cvs rdiff -u -r1.81 -r1.82 src/sys/compat/svr4/svr4_stream.c cvs rdiff -u -r1.235 -r1.236 src/sys/kern/uipc_socket.c cvs rdiff -u -r1.174 -r1.175 src/sys/kern/uipc_syscalls.c cvs rdiff -u -r1.175 -r1.176 src/sys/kern/uipc_usrreq.c cvs rdiff -u -r1.161 -r1.162 src/sys/net/if_gre.c cvs rdiff -u -r1.24 -r1.25 src/sys/net/link_proto.c cvs rdiff -u -r1.166 -r1.167 src/sys/net/rtsock.c cvs rdiff -u -r1.63 -r1.64 src/sys/netatalk/ddp_usrreq.c cvs rdiff -u -r1.40 -r1.41 src/sys/netbt/hci_socket.c cvs rdiff -u -r1.31 -r1.32 src/sys/netbt/l2cap_socket.c cvs rdiff -u -r1.33 -r1.34 src/sys/netbt/rfcomm_socket.c \ src/sys/netbt/sco_socket.c cvs rdiff -u -r1.155 -r1.156 src/sys/netinet/in_pcb.c cvs rdiff -u -r1.55 -r1.56 src/sys/netinet/in_pcb.h cvs rdiff -u -r1.146 -r1.147 src/sys/netinet/raw_ip.c cvs rdiff -u -r1.204 -r1.205 src/sys/netinet/tcp_usrreq.c cvs rdiff -u -r1.217 -r1.218 src/sys/netinet/udp_usrreq.c cvs rdiff -u -r1.134 -r1.135 src/sys/netinet6/in6_pcb.c cvs rdiff -u -r1.41 -r1.42 src/sys/netinet6/in6_pcb.h cvs rdiff -u -r1.136 -r1.137 src/sys/netinet6/raw_ip6.c cvs rdiff -u -r1.116 -r1.117 src/sys/netinet6/udp6_usrreq.c cvs rdiff -u -r1.44 -r1.45 src/sys/netipsec/keysock.c cvs rdiff -u -r1.24 -r1.25 src/sys/netmpls/mpls_proto.c cvs rdiff -u -r1.45 -r1.46 src/sys/netnatm/natm.c cvs rdiff -u -r1.82 -r1.83 src/sys/nfs/nfs_boot.c cvs rdiff -u -r1.193 -r1.194 src/sys/nfs/nfs_socket.c cvs rdiff -u -r1.58 -r1.59 src/sys/rump/net/lib/libsockin/sockin.c cvs rdiff -u -r1.468 -r1.469 src/sys/sys/param.h cvs rdiff -u -r1.60 -r1.61 src/sys/sys/protosw.h cvs rdiff -u -r1.116 -r1.117 src/sys/sys/socket.h cvs rdiff -u -r1.135 -r1.136 src/sys/sys/socketvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.