Header netinet/in_pcb.h includes sys/mutex.h now. Recommit mutex
authorbluhm <bluhm@openbsd.org>
Mon, 21 Mar 2022 09:12:34 +0000 (09:12 +0000)
committerbluhm <bluhm@openbsd.org>
Mon, 21 Mar 2022 09:12:34 +0000 (09:12 +0000)
commitdc28d33f8280295b5a64640946defa654096f4ce
tree932930765a7c6323038c0b31fdac5b69f0b8146b
parentc22940039e0680f331f05668fe15ecb71cb2942c
Header netinet/in_pcb.h includes sys/mutex.h now.  Recommit mutex
for PCB tables.  It does not break userland build anymore.

pf_socket_lookup() calls in_pcbhashlookup() in the PCB layer.  To
run pf in parallel, make parts of the stack MP safe.  Protect the
list and hashes in the PCB tables with a mutex.
Note that the protocol notify functions may call pf via tcp_output().
As the pf lock is a sleeping rw_lock, we must not hold a mutex.  To
solve this for now, collect these PCBs in inp_notify list and protect
it with exclusive netlock.
OK sashan@
sys/kern/kern_sysctl.c
sys/netinet/in_pcb.c
sys/netinet/in_pcb.h
sys/netinet/raw_ip.c
sys/netinet/udp_usrreq.c
sys/netinet6/in6_pcb.c
sys/netinet6/raw_ip6.c