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>