CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2017/06/26 03:32:32
Modified files: sys/kern : uipc_socket.c uipc_usrreq.c uipc_socket2.c sys_generic.c sys/miscfs/fifofs: fifo_vnops.c sys/net : pfkeyv2.c rtsock.c sys/netinet : ip_divert.c ip_mroute.c raw_ip.c tcp_usrreq.c tcp_subr.c tcp_output.c udp_usrreq.c tcp_input.c sys/netinet6 : ip6_divert.c ip6_mroute.c raw_ip6.c sys/nfs : nfs_socket.c sys/sys : socketvar.h event.h Log message: Assert that the corresponding socket is locked when manipulating socket buffers. This is one step towards unlocking TCP input path. Note that all the functions asserting for the socket lock are not necessarilly MP-safe. All the fields of 'struct socket' aren't protected. Introduce a new kernel-only kqueue hint, NOTE_SUBMIT, to be able to tell when a filter needs to lock the underlying data structures. Logic and name taken from NetBSD. Tested by Hrvoje Popovski. ok claudio@, bluhm@, mikeb@