View | Details | Raw Unified | Return to bug 254478
Collapse All | Expand All

(-)b/sys/netinet/ip_divert.c (+4 lines)
Lines 278-283 divert_packet(struct mbuf *m, int incoming) Link Here
278
		/* XXX why does only one socket match? */
278
		/* XXX why does only one socket match? */
279
		if (inp->inp_lport == nport) {
279
		if (inp->inp_lport == nport) {
280
			INP_RLOCK(inp);
280
			INP_RLOCK(inp);
281
			if (__predict_false(inp->inp_flags2 & INP_FREED)) {
282
				INP_RUNLOCK(inp);
283
				continue;
284
			}
281
			sa = inp->inp_socket;
285
			sa = inp->inp_socket;
282
			SOCKBUF_LOCK(&sa->so_rcv);
286
			SOCKBUF_LOCK(&sa->so_rcv);
283
			if (sbappendaddr_locked(&sa->so_rcv,
287
			if (sbappendaddr_locked(&sa->so_rcv,

Return to bug 254478