Skip site navigation (1)Skip section navigation (2)
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>