diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-11-03 12:25:38 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-11-03 12:25:38 +0000 |
commit | 5c1c2ef6872408362a9a5e163f98567af5356896 (patch) | |
tree | 0a9f84f98c77fdba9e446b3860f57697bf18d430 | |
parent | 81bf1211a80c05df52706cbeb4596d145d1d084d (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.c | 3 |
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; |