summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Pieuchot <mpi@cvs.openbsd.org>2015-11-03 12:25:38 +0000
committerMartin Pieuchot <mpi@cvs.openbsd.org>2015-11-03 12:25:38 +0000
commit5c1c2ef6872408362a9a5e163f98567af5356896 (patch)
tree0a9f84f98c77fdba9e446b3860f57697bf18d430
parent81bf1211a80c05df52706cbeb4596d145d1d084d (diff)
Do not clear M_PROTO1 flag before calling if_start() because pseudo-
drivers, like vlan(4), call if_enqueue() in their *start function. Prevent an infinite recursion reported by Armin Wolfermann on bugs@.
-rw-r--r--sys/net/if.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/net/if.c b/sys/net/if.c
index 9f0e99baf68..a93599f930f 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if.c,v 1.401 2015/11/02 14:40:09 mpi Exp $ */
+/* $OpenBSD: if.c,v 1.402 2015/11/03 12:25:37 mpi Exp $ */
/* $NetBSD: if.c,v 1.35 1996/05/07 05:26:04 thorpej Exp $ */
/*
@@ -564,7 +564,6 @@ if_enqueue(struct ifnet *ifp, struct mbuf *m)
#if NBRIDGE > 0
if (ifp->if_bridgeport && (m->m_flags & M_PROTO1) == 0)
return (bridge_output(ifp, m, NULL, NULL));
- m->m_flags &= ~M_PROTO1; /* Loop prevention */
#endif
length = m->m_pkthdr.len;