CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2018/09/20 12:59:10
Modified files:
sys/kern : kern_sysctl.c
sys/netinet : in_pcb.c in_pcb.h ip_divert.c raw_ip.c
tcp_subr.c udp_usrreq.c
sys/netinet6 : in6_pcb.c ip6_divert.c raw_ip6.c
Log message:
As a step towards per inpcb or socket locks, remove the net lock
for netstat -a. Introduce a global mutex that protects the tables
and hashes for the internet PCBs. To detect detached PCB, set its
inp_socket field to NULL. This has to be protected by a per PCB
mutex. The protocol pointer has to be protected by the mutex as
netstat uses it.
Always take the kernel lock in in_pcbnotifyall() and in6_pcbnotify()
before the table mutex to avoid lock ordering problems in the notify
functions.
OK visa@