Index: sys/kern/uipc_socket.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/kern/uipc_socket.c,v diff -u -p -u -p -r1.338 uipc_socket.c --- sys/kern/uipc_socket.c 14 Jul 2024 15:42:23 -0000 1.338 +++ sys/kern/uipc_socket.c 18 Jul 2024 11:50:54 -0000 @@ -1549,7 +1549,7 @@ somove(struct socket *so, int wait) int error = 0, maxreached = 0; unsigned int rcvstate; - soassertlocked(so); + soassertlocked_readonly(so); nextpkt: if (so->so_error) { Index: sys/netinet/in_proto.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/in_proto.c,v diff -u -p -u -p -r1.106 in_proto.c --- sys/netinet/in_proto.c 13 Jul 2024 12:00:11 -0000 1.106 +++ sys/netinet/in_proto.c 18 Jul 2024 11:50:54 -0000 @@ -185,7 +185,7 @@ const struct protosw inetsw[] = { .pr_type = SOCK_DGRAM, .pr_domain = &inetdomain, .pr_protocol = IPPROTO_UDP, - .pr_flags = PR_ATOMIC|PR_ADDR|PR_SPLICE|PR_MPSOCKET, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_SPLICE|PR_MPINPUT|PR_MPSOCKET, .pr_input = udp_input, .pr_ctlinput = udp_ctlinput, .pr_ctloutput = ip_ctloutput, Index: sys/netinet/udp_usrreq.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/udp_usrreq.c,v diff -u -p -u -p -r1.321 udp_usrreq.c --- sys/netinet/udp_usrreq.c 12 Jul 2024 19:50:35 -0000 1.321 +++ sys/netinet/udp_usrreq.c 18 Jul 2024 11:50:54 -0000 @@ -592,7 +592,7 @@ udp_input(struct mbuf **mp, int *offp, i } KASSERT(sotoinpcb(inp->inp_socket) == inp); - soassertlocked(inp->inp_socket); + soassertlocked_readonly(inp->inp_socket); #ifdef INET6 if (ip6 && inp->inp_ip6_minhlim && @@ -1207,7 +1207,7 @@ udp_send(struct socket *so, struct mbuf { struct inpcb *inp = sotoinpcb(so); - soassertlocked(so); + soassertlocked_readonly(so); #ifdef PIPEX if (inp->inp_pipex) { Index: sys/netinet6/in6_proto.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet6/in6_proto.c,v diff -u -p -u -p -r1.115 in6_proto.c --- sys/netinet6/in6_proto.c 12 Jul 2024 19:50:35 -0000 1.115 +++ sys/netinet6/in6_proto.c 18 Jul 2024 11:50:54 -0000 @@ -136,7 +136,7 @@ const struct protosw inet6sw[] = { .pr_type = SOCK_DGRAM, .pr_domain = &inet6domain, .pr_protocol = IPPROTO_UDP, - .pr_flags = PR_ATOMIC|PR_ADDR|PR_SPLICE|PR_MPSOCKET, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_SPLICE|PR_MPINPUT|PR_MPSOCKET, .pr_input = udp_input, .pr_ctlinput = udp6_ctlinput, .pr_ctloutput = ip6_ctloutput,