svn commit: r195231 - head/sys/netgraph
Alexander Motin
mav at FreeBSD.org
Wed Jul 1 08:08:57 UTC 2009
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);
More information about the svn-src-head
mailing list