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

Reply via email to