summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ethersubr.c
diff options
context:
space:
mode:
authorae <ae@FreeBSD.org>2015-09-16 13:17:00 +0000
committerae <ae@FreeBSD.org>2015-09-16 13:17:00 +0000
commit179df1f956d7a1e467676381f2d39cd9f2e60e37 (patch)
treeebd089b7e4f3791b0d21c91551e78f5ee1680a73 /sys/net/if_ethersubr.c
parentdaa0d6c5841ff42de22abbdd8375560a708b02bf (diff)
downloadFreeBSD-src-179df1f956d7a1e467676381f2d39cd9f2e60e37.zip
FreeBSD-src-179df1f956d7a1e467676381f2d39cd9f2e60e37.tar.gz
Use KASSERT for some checks, that are late to do.
Discussed with: melifaro, glebius
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r--sys/net/if_ethersubr.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index 862d259..9ebb79b 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -392,16 +392,6 @@ ether_input_internal(struct ifnet *ifp, struct mbuf *m)
return;
}
#endif
- /*
- * Do consistency checks to verify assumptions
- * made by code past this point.
- */
- if ((m->m_flags & M_PKTHDR) == 0) {
- if_printf(ifp, "discard frame w/o packet header\n");
- if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
- m_freem(m);
- return;
- }
if (m->m_len < ETHER_HDR_LEN) {
/* XXX maybe should pullup? */
if_printf(ifp, "discard frame w/o leading ethernet "
@@ -413,19 +403,6 @@ ether_input_internal(struct ifnet *ifp, struct mbuf *m)
}
eh = mtod(m, struct ether_header *);
etype = ntohs(eh->ether_type);
- if (m->m_pkthdr.rcvif == NULL) {
- if_printf(ifp, "discard frame w/o interface pointer\n");
- if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
- m_freem(m);
- return;
- }
-#ifdef DIAGNOSTIC
- if (m->m_pkthdr.rcvif != ifp) {
- if_printf(ifp, "Warning, frame marked as received on %s\n",
- m->m_pkthdr.rcvif->if_xname);
- }
-#endif
-
random_harvest_queue(m, sizeof(*m), 2, RANDOM_NET_ETHER);
CURVNET_SET_QUIET(ifp->if_vnet);
@@ -598,6 +575,9 @@ static void
ether_nh_input(struct mbuf *m)
{
+ M_ASSERTPKTHDR(m);
+ KASSERT(m->m_pkthdr.rcvif != NULL,
+ ("%s: NULL interface pointer", __func__));
ether_input_internal(m->m_pkthdr.rcvif, m);
}
OpenPOWER on IntegriCloud