CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2023/08/03 03:49:09
Modified files: sys/kern : uipc_socket.c uipc_syscalls.c sys/net : bfd.c if_vxlan.c if_wg.c sys/nfs : krpc_subr.c nfs_socket.c nfs_syscalls.c Log message: Move solock() down to sosetopt(). A part of standalone sblock() work. This movement required because buffers related SO_SND* and SO_RCV* socket options should be protected with sblock(). However, standalone sblock() has different lock order with solock() and `so_snd' and `so_rcv' buffers. At least sblock() for `so_snd' buffer will always be taken before solock() in the sosend() path. The (*pr_ctloutput)() call was removed from the SOL_SOCKET level 'else' branch. Except the SO_RTABLE case where it handled in the special way, this is null op call. For SO_SND* and SO_RCV* cases solock() will be replaced by sblock() in the future. Feedback from bluhm Tested by bluhm naddy ok bluhm