Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/udp_usrreq.c
Show First 20 Lines • Show All 545 Lines • ▼ Show 20 Lines | #endif | ||||
inp->inp_faddr.s_addr != ip->ip_src.s_addr) | inp->inp_faddr.s_addr != ip->ip_src.s_addr) | ||||
continue; | continue; | ||||
if (inp->inp_fport != 0 && | if (inp->inp_fport != 0 && | ||||
inp->inp_fport != uh->uh_sport) | inp->inp_fport != uh->uh_sport) | ||||
continue; | continue; | ||||
INP_RLOCK(inp); | INP_RLOCK(inp); | ||||
if (__predict_false(inp->inp_flags2 & INP_FREED)) { | |||||
INP_RUNLOCK(inp); | |||||
continue; | |||||
} | |||||
/* | /* | ||||
* XXXRW: Because we weren't holding either the inpcb | * XXXRW: Because we weren't holding either the inpcb | ||||
* or the hash lock when we checked for a match | * or the hash lock when we checked for a match | ||||
* before, we should probably recheck now that the | * before, we should probably recheck now that the | ||||
* inpcb lock is held. | * inpcb lock is held. | ||||
*/ | */ | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 1,257 Lines • Show Last 20 Lines |