CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2025/01/09 09:47:24
Modified files:
sys/netinet : in_pcb.c in_pcb.h tcp_input.c tcp_usrreq.c
Log message:
Run TCP sysctl ident and drop with shared net lock.
Convert exclusive net lock for TCPCTL_IDENT and TCPCTL_DROP to
shared net lock and push it down into tcp_ident(). Grab the socket
lock there with in_pcbsolock_ref(). Move socket release from
in_pcbsolock() to in_pcbsounlock_rele() and add _ref and _rele
suffix to the inpcb socket lock functions. They both lock and
refcount now. in_pcbsounlock_rele() ignores NULL sockets to make
the unlock path in error case simpler. Socket lock also protects
tcp_drop() and tcp_close() now, so the socket pointer from incpb
may be NULL during unlock. In tcp_ident() improve consistency check
of address family.
OK mvs@