CVSROOT: /cvs Module name: src Changes by: bl...@cvs.openbsd.org 2022/03/14 11:23:01
Modified files: sys/kern : kern_sysctl.c sys/netinet : in_pcb.c in_pcb.h raw_ip.c udp_usrreq.c sys/netinet6 : in6_pcb.c raw_ip6.c Log message: 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@