Date: Sat, 08 Apr 2000 23:48:12 -0500 From: csg@waterspout.com (C. Stephen Gunn) To: freebsd-bugs@FreeBSD.org Cc: wes@FreeBSD.org Subject: Re: kern/17872: arpintr() fix followup Message-ID: <200004090448.XAA16277@dustdevil.waterspout.com> In-Reply-To: Your message of "Sat, 08 Apr 2000 20:30:01 MST." <200004090330.UAA11911@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Sorry for the broken patch before. This one should work much better:
It's relative to 4.0-STABLE from today.
Index: if_ether.c
===================================================================
RCS file: /project/cvs/FreeBSD/src/sys/netinet/if_ether.c,v
retrieving revision 1.64.2.2
diff -u -b -r1.64.2.2 if_ether.c
--- if_ether.c 2000/03/29 07:52:50 1.64.2.2
+++ if_ether.c 2000/04/09 04:22:28
@@ -430,9 +430,9 @@
static void
arpintr()
{
- register struct mbuf *m, *m0;
+ register struct mbuf *m;
register struct arphdr *ar;
- int s, ml;
+ int s;
while (arpintrq.ifq_head) {
s = splimp();
@@ -457,14 +457,7 @@
continue;
}
- m0 = m;
- ml = 0;
- while (m0 != NULL) {
- ml += m0->m_len; /* wanna implement m_size?? */
- m0 = m0->m_next;
- }
-
- if (ml < sizeof(struct arphdr) + 2 * ar->ar_hln
+ if (m->m_pkthdr.len < sizeof(struct arphdr) + 2 * ar->ar_hln
+ 2 * ar->ar_pln) {
log(LOG_ERR, "arp: runt packet\n");
m_freem(m);
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004090448.XAA16277>
