summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/netinet/in_pcb.c
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/netinet/in_pcb.c')
-rw-r--r--freebsd/sys/netinet/in_pcb.c59
1 files changed, 19 insertions, 40 deletions
diff --git a/freebsd/sys/netinet/in_pcb.c b/freebsd/sys/netinet/in_pcb.c
index 5ba918fa..6bf43464 100644
--- a/freebsd/sys/netinet/in_pcb.c
+++ b/freebsd/sys/netinet/in_pcb.c
@@ -272,7 +272,7 @@ in_pcblbgroup_resize(struct inpcblbgrouphead *hdr,
grp = in_pcblbgroup_alloc(hdr, old_grp->il_vflag,
old_grp->il_lport, &old_grp->il_dependladdr, size);
- if (!grp)
+ if (grp == NULL)
return (NULL);
KASSERT(old_grp->il_inpcnt < grp->il_inpsiz,
@@ -294,21 +294,20 @@ static void
in_pcblbgroup_reorder(struct inpcblbgrouphead *hdr, struct inpcblbgroup **grpp,
int i)
{
- struct inpcblbgroup *grp = *grpp;
+ struct inpcblbgroup *grp, *new_grp;
+ grp = *grpp;
for (; i + 1 < grp->il_inpcnt; ++i)
grp->il_inp[i] = grp->il_inp[i + 1];
grp->il_inpcnt--;
if (grp->il_inpsiz > INPCBLBGROUP_SIZMIN &&
- grp->il_inpcnt <= (grp->il_inpsiz / 4)) {
+ grp->il_inpcnt <= grp->il_inpsiz / 4) {
/* Shrink this group. */
- struct inpcblbgroup *new_grp =
- in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz / 2);
- if (new_grp)
+ new_grp = in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz / 2);
+ if (new_grp != NULL)
*grpp = new_grp;
}
- return;
}
/*
@@ -322,31 +321,17 @@ in_pcbinslbgrouphash(struct inpcb *inp)
struct inpcbinfo *pcbinfo;
struct inpcblbgrouphead *hdr;
struct inpcblbgroup *grp;
- uint16_t hashmask, lport;
- uint32_t group_index;
- struct ucred *cred;
+ uint32_t idx;
pcbinfo = inp->inp_pcbinfo;
INP_WLOCK_ASSERT(inp);
INP_HASH_WLOCK_ASSERT(pcbinfo);
- if (pcbinfo->ipi_lbgrouphashbase == NULL)
- return (0);
-
- hashmask = pcbinfo->ipi_lbgrouphashmask;
- lport = inp->inp_lport;
- group_index = INP_PCBLBGROUP_PORTHASH(lport, hashmask);
- hdr = &pcbinfo->ipi_lbgrouphashbase[group_index];
-
/*
* Don't allow jailed socket to join local group.
*/
- if (inp->inp_socket != NULL)
- cred = inp->inp_socket->so_cred;
- else
- cred = NULL;
- if (cred != NULL && jailed(cred))
+ if (inp->inp_socket != NULL && jailed(inp->inp_socket->so_cred))
return (0);
#ifdef INET6
@@ -360,24 +345,23 @@ in_pcbinslbgrouphash(struct inpcb *inp)
}
#endif
- hdr = &pcbinfo->ipi_lbgrouphashbase[
- INP_PCBLBGROUP_PORTHASH(inp->inp_lport,
- pcbinfo->ipi_lbgrouphashmask)];
+ idx = INP_PCBLBGROUP_PORTHASH(inp->inp_lport,
+ pcbinfo->ipi_lbgrouphashmask);
+ hdr = &pcbinfo->ipi_lbgrouphashbase[idx];
CK_LIST_FOREACH(grp, hdr, il_list) {
if (grp->il_vflag == inp->inp_vflag &&
grp->il_lport == inp->inp_lport &&
memcmp(&grp->il_dependladdr,
- &inp->inp_inc.inc_ie.ie_dependladdr,
- sizeof(grp->il_dependladdr)) == 0) {
+ &inp->inp_inc.inc_ie.ie_dependladdr,
+ sizeof(grp->il_dependladdr)) == 0)
break;
- }
}
if (grp == NULL) {
/* Create new load balance group. */
grp = in_pcblbgroup_alloc(hdr, inp->inp_vflag,
inp->inp_lport, &inp->inp_inc.inc_ie.ie_dependladdr,
INPCBLBGROUP_SIZMIN);
- if (!grp)
+ if (grp == NULL)
return (ENOBUFS);
} else if (grp->il_inpcnt == grp->il_inpsiz) {
if (grp->il_inpsiz >= INPCBLBGROUP_SIZMAX) {
@@ -389,13 +373,13 @@ in_pcbinslbgrouphash(struct inpcb *inp)
/* Expand this local group. */
grp = in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz * 2);
- if (!grp)
+ if (grp == NULL)
return (ENOBUFS);
}
KASSERT(grp->il_inpcnt < grp->il_inpsiz,
- ("invalid local group size %d and count %d",
- grp->il_inpsiz, grp->il_inpcnt));
+ ("invalid local group size %d and count %d", grp->il_inpsiz,
+ grp->il_inpcnt));
grp->il_inp[grp->il_inpcnt] = inp;
grp->il_inpcnt++;
@@ -418,9 +402,6 @@ in_pcbremlbgrouphash(struct inpcb *inp)
INP_WLOCK_ASSERT(inp);
INP_HASH_WLOCK_ASSERT(pcbinfo);
- if (pcbinfo->ipi_lbgrouphashbase == NULL)
- return;
-
hdr = &pcbinfo->ipi_lbgrouphashbase[
INP_PCBLBGROUP_PORTHASH(inp->inp_lport,
pcbinfo->ipi_lbgrouphashmask)];
@@ -2301,13 +2282,11 @@ in_pcblookup_hash_locked(struct inpcbinfo *pcbinfo, struct in_addr faddr,
/*
* Then look in lb group (for wildcard match).
*/
- if (pcbinfo->ipi_lbgrouphashbase != NULL &&
- (lookupflags & INPLOOKUP_WILDCARD)) {
+ if ((lookupflags & INPLOOKUP_WILDCARD) != 0) {
inp = in_pcblookup_lbgroup(pcbinfo, &laddr, lport, &faddr,
fport, lookupflags);
- if (inp != NULL) {
+ if (inp != NULL)
return (inp);
- }
}
/*