Date: Sat, 4 Jul 2009 06:00:57 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r195336 - in stable/7/sys: . contrib/pf netgraph Message-ID: <200907040600.n6460vaU000179@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Sat Jul 4 06:00:57 2009 New Revision: 195336 URL: http://svn.freebsd.org/changeset/base/195336 Log: MFC rev.195335: 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 Modified: stable/7/sys/ (props changed) stable/7/sys/contrib/pf/ (props changed) stable/7/sys/netgraph/ng_iface.c Modified: stable/7/sys/netgraph/ng_iface.c ============================================================================== --- stable/7/sys/netgraph/ng_iface.c Sat Jul 4 05:07:52 2009 (r195335) +++ stable/7/sys/netgraph/ng_iface.c Sat Jul 4 06:00:57 2009 (r195336) @@ -365,7 +365,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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907040600.n6460vaU000179>