|
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, |