Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jul 2009 08:10:02 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-net@FreeBSD.org
Subject:   Re: kern/134557: commit references a PR
Message-ID:  <200907010810.n618A24m007017@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/134557; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/134557: commit references a PR
Date: Wed,  1 Jul 2009 08:09:10 +0000 (UTC)

 Author: mav
 Date: Wed Jul  1 08:08:56 2009
 New Revision: 195231
 URL: http://svn.freebsd.org/changeset/base/195231
 
 Log:
   Fix infinite loop in ng_iface, that happens when packet passes out via
   two different ng interfaces sequentially due to tunnelling.
   
   PR:		kern/134557
   Submitted by:	Mikolaj Golub
   Approved by:	re (kensmith)
   MFC after:	3 days
 
 Modified:
   head/sys/netgraph/ng_iface.c
 
 Modified: head/sys/netgraph/ng_iface.c
 ==============================================================================
 --- head/sys/netgraph/ng_iface.c	Wed Jul  1 07:37:21 2009	(r195230)
 +++ head/sys/netgraph/ng_iface.c	Wed Jul  1 08:08:56 2009	(r195231)
 @@ -382,7 +382,8 @@ ng_iface_output(struct ifnet *ifp, struc
  	}
  
  	/* Protect from deadly infinite recursion. */
 -	while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, NULL))) {
 +	mtag = NULL;
 +	while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, mtag))) {
  		if (*(struct ifnet **)(mtag + 1) == ifp) {
  			log(LOG_NOTICE, "Loop detected on %s\n", ifp->if_xname);
  			m_freem(m);
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907010810.n618A24m007017>