Use rwlock per inpcb table to protect notify list. The notify
authorbluhm <bluhm@openbsd.org>
Mon, 22 Aug 2022 10:37:27 +0000 (10:37 +0000)
committerbluhm <bluhm@openbsd.org>
Mon, 22 Aug 2022 10:37:27 +0000 (10:37 +0000)
commitda3acf12474752f7d54a1a606d1b4babe47c40f0
treeccead15b4bef5c29402c4ff1a865355002893295
parentcb94f1b5e7e5fbeefad134c139e9668f1e88355d
Use rwlock per inpcb table to protect notify list.  The notify
function may sleep, so holding a mutex is not possible.  The same
list entry and rwlock is used for UDP multicast and raw IP delivery.
By adding a write lock, exclusive netlock is no longer necessary
for PCB notify and UDP and raw IP input.
OK mvs@
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