diff --git a/sys/net/if.c b/sys/net/if.c index f92c93091c01..d540c95ae4de 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -581,12 +581,11 @@ if_purgeaddrs(struct ifnet *ifp) struct ifaddr *ifa, *next; TAILQ_FOREACH_SAFE(ifa, &ifp->if_addrhead, ifa_link, next) { - - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_LINK) + if (ifa->ifa_addr->sa_family == AF_LINK) continue; #ifdef INET /* XXX: Ugly!! ad hoc just for INET */ - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) { + if (ifa->ifa_addr->sa_family == AF_INET) { struct ifaliasreq ifr; bzero(&ifr, sizeof(ifr)); @@ -599,7 +598,7 @@ if_purgeaddrs(struct ifnet *ifp) } #endif /* INET */ #ifdef INET6 - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET6) { + if (ifa->ifa_addr->sa_family == AF_INET6) { in6_purgeaddr(ifa); /* ifp_addrhead is already updated */ continue; @@ -2404,8 +2403,7 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, int len) * the address change. */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (ifa->ifa_addr != NULL && - ifa->ifa_addr->sa_family == AF_INET) + if (ifa->ifa_addr->sa_family == AF_INET) arp_ifinit(ifp, ifa); } #endif diff --git a/sys/net/if_atmsubr.c b/sys/net/if_atmsubr.c index 00f89d043fda..d3f79561aff1 100644 --- a/sys/net/if_atmsubr.c +++ b/sys/net/if_atmsubr.c @@ -387,8 +387,8 @@ atm_ifattach(struct ifnet *ifp) #elif defined(__FreeBSD__) || defined(__bsdi__) for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next) #endif - if ((sdl = (struct sockaddr_dl *)ifa->ifa_addr) && - sdl->sdl_family == AF_LINK) { + if (ifa->ifa_addr->sa_family == AF_LINK) { + sdl = (struct sockaddr_dl *)ifa->ifa_addr; sdl->sdl_type = IFT_ATM; sdl->sdl_alen = ifp->if_addrlen; #ifdef notyet /* if using ATMARP, store hardware address using the next line */ diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index 23f51cc219f5..594b648a606c 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -368,8 +368,6 @@ stf_getsrcifa6(ifp) struct in_addr in; TAILQ_FOREACH(ia, &ifp->if_addrlist, ifa_list) { - if (ia->ifa_addr == NULL) - continue; if (ia->ifa_addr->sa_family != AF_INET6) continue; sin6 = (struct sockaddr_in6 *)ia->ifa_addr; diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index deee367492e1..b0d0e42ce7cf 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -393,28 +393,23 @@ tuninit(struct ifnet *ifp) ifp->if_drv_flags |= IFF_DRV_RUNNING; getmicrotime(&ifp->if_lastchange); - TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (ifa->ifa_addr == NULL) - error = EFAULT; - /* XXX: Should maybe return straight off? */ - else { #ifdef INET - if (ifa->ifa_addr->sa_family == AF_INET) { - struct sockaddr_in *si; + TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { + if (ifa->ifa_addr->sa_family == AF_INET) { + struct sockaddr_in *si; - si = (struct sockaddr_in *)ifa->ifa_addr; - mtx_lock(&tp->tun_mtx); - if (si->sin_addr.s_addr) - tp->tun_flags |= TUN_IASET; + si = (struct sockaddr_in *)ifa->ifa_addr; + mtx_lock(&tp->tun_mtx); + if (si->sin_addr.s_addr) + tp->tun_flags |= TUN_IASET; - si = (struct sockaddr_in *)ifa->ifa_dstaddr; - if (si && si->sin_addr.s_addr) - tp->tun_flags |= TUN_DSTADDR; - mtx_unlock(&tp->tun_mtx); - } -#endif + si = (struct sockaddr_in *)ifa->ifa_dstaddr; + if (si && si->sin_addr.s_addr) + tp->tun_flags |= TUN_DSTADDR; + mtx_unlock(&tp->tun_mtx); } } +#endif return (error); } diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index 1b154df85e65..94beb78437b2 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -654,7 +654,7 @@ in_arpinput(m) * as a dummy address for the rest of the function. */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) { + if (ifa->ifa_addr->sa_family == AF_INET) { ia = ifatoia(ifa); goto match; } diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index 2b14f44a7d6e..7136644a9661 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -206,8 +206,6 @@ divert_packet(struct mbuf *m, int incoming) /* Find IP address for receive interface */ TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrhead, ifa_link) { - if (ifa->ifa_addr == NULL) - continue; if (ifa->ifa_addr->sa_family != AF_INET) continue; divsrc.sin_addr = diff --git a/sys/netinet/ip_fw2.c b/sys/netinet/ip_fw2.c index 5ad1eb69a2dc..64cfeeb94a20 100644 --- a/sys/netinet/ip_fw2.c +++ b/sys/netinet/ip_fw2.c @@ -465,8 +465,6 @@ iface_match(struct ifnet *ifp, ipfw_insn_if *cmd) /* XXX lock? */ TAILQ_FOREACH(ia, &ifp->if_addrhead, ifa_link) { - if (ia->ifa_addr == NULL) - continue; if (ia->ifa_addr->sa_family != AF_INET) continue; if (cmd->p.ip.s_addr == ((struct sockaddr_in *) @@ -575,8 +573,6 @@ search_ip6_addr_net (struct in6_addr * ip6_addr) TAILQ_FOREACH(mdc, &ifnet, if_link) TAILQ_FOREACH(mdc2, &mdc->if_addrlist, ifa_list) { - if (!mdc2->ifa_addr) - continue; if (mdc2->ifa_addr->sa_family == AF_INET6) { fdm = (struct in6_ifaddr *)mdc2; copia = fdm->ia_addr.sin6_addr; diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index fcc308071a65..5c05d6a9852e 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1696,8 +1696,6 @@ in6_ifinit(ifp, ia, sin6, newhost) * and to validate the address if necessary. */ TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) { - if (ifa->ifa_addr == NULL) - continue; /* just for safety */ if (ifa->ifa_addr->sa_family != AF_INET6) continue; ifacount++; @@ -1830,8 +1828,6 @@ in6ifa_ifpforlinklocal(ifp, ignoreflags) struct ifaddr *ifa; TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) { - if (ifa->ifa_addr == NULL) - continue; /* just for safety */ if (ifa->ifa_addr->sa_family != AF_INET6) continue; if (IN6_IS_ADDR_LINKLOCAL(IFA_IN6(ifa))) { @@ -1857,8 +1853,6 @@ in6ifa_ifpwithaddr(ifp, addr) struct ifaddr *ifa; TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) { - if (ifa->ifa_addr == NULL) - continue; /* just for safety */ if (ifa->ifa_addr->sa_family != AF_INET6) continue; if (IN6_ARE_ADDR_EQUAL(addr, IFA_IN6(ifa))) diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 4d3c6ba63dff..faa3e6291009 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -494,8 +494,6 @@ MALLOC_DECLARE(M_IP6MADDR); do { \ struct ifaddr *ifa; \ TAILQ_FOREACH(ifa, &(ifp)->if_addrlist, ifa_list) { \ - if (!ifa->ifa_addr) \ - continue; \ if (ifa->ifa_addr->sa_family == AF_INET6) \ break; \ } \ diff --git a/sys/nfsclient/bootp_subr.c b/sys/nfsclient/bootp_subr.c index 1b4ededef4ed..dfd239536df5 100644 --- a/sys/nfsclient/bootp_subr.c +++ b/sys/nfsclient/bootp_subr.c @@ -1048,10 +1048,11 @@ bootpc_fakeup_interface(struct bootpc_ifcontext *ifctx, sdl = NULL; TAILQ_FOREACH(ifa, &ifctx->ifp->if_addrhead, ifa_link) - if (ifa->ifa_addr->sa_family == AF_LINK && - (sdl = ((struct sockaddr_dl *) ifa->ifa_addr)) != NULL && - sdl->sdl_type == IFT_ETHER) - break; + if (ifa->ifa_addr->sa_family == AF_LINK) { + sdl = (struct sockaddr_dl *)ifa->ifa_addr; + if (sdl->sdl_type == IFT_ETHER) + break; + } if (sdl == NULL) panic("bootpc: Unable to find HW address for %s", diff --git a/sys/nfsclient/nfs_diskless.c b/sys/nfsclient/nfs_diskless.c index 9aa2de150464..bc62b502da34 100644 --- a/sys/nfsclient/nfs_diskless.c +++ b/sys/nfsclient/nfs_diskless.c @@ -132,8 +132,8 @@ nfs_setup_diskless(void) IFNET_RLOCK(); TAILQ_FOREACH(ifp, &ifnet, if_link) { TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if ((ifa->ifa_addr->sa_family == AF_LINK) && - (sdl = ((struct sockaddr_dl *)ifa->ifa_addr))) { + if (ifa->ifa_addr->sa_family == AF_LINK) { + sdl = (struct sockaddr_dl *)ifa->ifa_addr; if ((sdl->sdl_type == ourdl.sdl_type) && (sdl->sdl_alen == ourdl.sdl_alen) && !bcmp(LLADDR(sdl),