svn commit: r231211 - stable/7/sys/netinet

Bjoern A. Zeeb bz at FreeBSD.org
Wed Feb 8 16:26:02 UTC 2012


Author: bz
Date: Wed Feb  8 16:26:01 2012
New Revision: 231211
URL: http://svn.freebsd.org/changeset/base/231211

Log:
  MFC r225033:
  
   If we detect an IPv6 fragment header and it is not the first fragment,
   then terminate the loop as we will not find any further headers and
   for short fragments this could otherwise lead to a pullup error
   discarding the fragment.
  
   Submitted by:	Matthew Luckie (mjl luckie.org.nz)
  PR:		kern/145733

Modified:
  stable/7/sys/netinet/ip_fw2.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/netinet/ip_fw2.c
==============================================================================
--- stable/7/sys/netinet/ip_fw2.c	Wed Feb  8 16:24:56 2012	(r231210)
+++ stable/7/sys/netinet/ip_fw2.c	Wed Feb  8 16:26:01 2012	(r231211)
@@ -2260,7 +2260,7 @@ do {									\
 		proto = ip6->ip6_nxt;
 
 		/* Search extension headers to find upper layer protocols */
-		while (ulp == NULL) {
+		while (ulp == NULL && offset == 0) {
 			switch (proto) {
 			case IPPROTO_ICMPV6:
 				PULLUP_TO(hlen, ulp, struct icmp6_hdr);


More information about the svn-src-stable mailing list