Index: sys/netinet/in_pcb.c =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/in_pcb.c,v diff -u -p -u -p -r1.306 in_pcb.c --- sys/netinet/in_pcb.c 21 Dec 2024 00:10:04 -0000 1.306 +++ sys/netinet/in_pcb.c 23 Dec 2024 21:20:46 -0000 @@ -923,6 +923,8 @@ in_pcblookup_local_lock(struct inpcbtabl struct rtentry * in_pcbrtentry(struct inpcb *inp) { + soassertlocked(inp->inp_socket); + #ifdef INET6 if (ISSET(inp->inp_flags, INP_IPV6)) return in6_pcbrtentry(inp); Index: sys/netinet/in_pcb.h =================================================================== RCS file: /mount/openbsd/cvs/src/sys/netinet/in_pcb.h,v diff -u -p -u -p -r1.160 in_pcb.h --- sys/netinet/in_pcb.h 21 Dec 2024 00:10:04 -0000 1.160 +++ sys/netinet/in_pcb.h 23 Dec 2024 21:20:46 -0000 @@ -138,7 +138,7 @@ struct inpcb { u_int16_t inp_lport; /* [t] local port */ struct socket *inp_socket; /* [I] back pointer to socket */ caddr_t inp_ppcb; /* pointer to per-protocol pcb */ - struct route inp_route; /* cached route */ + struct route inp_route; /* [s] cached route */ struct refcnt inp_refcnt; /* refcount PCB, delay memory free */ int inp_flags; /* generic IP/datagram flags */ union { /* Header prototype. */