summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_ether.c
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-07-12 23:55:07 +0000
committerarchie <archie@FreeBSD.org>2000-07-12 23:55:07 +0000
commite713486f3bcd68bbd87a88159511349e9ffbaace (patch)
treeed590526504bf6da5e28bfcc8869733dcd86bbba /sys/netgraph/ng_ether.c
parentbf36609078a18030efd57cdd671bf095af25d9b8 (diff)
downloadFreeBSD-src-e713486f3bcd68bbd87a88159511349e9ffbaace.zip
FreeBSD-src-e713486f3bcd68bbd87a88159511349e9ffbaace.tar.gz
Fix race condition caused by using NG_SEND_DATAQ() where we meant
to use ng_queue_data(). Reported by: Udo Erdelhoff <ue@nathan.ruhr.de>
Diffstat (limited to 'sys/netgraph/ng_ether.c')
-rw-r--r--sys/netgraph/ng_ether.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c
index 508b216..6984d1a 100644
--- a/sys/netgraph/ng_ether.c
+++ b/sys/netgraph/ng_ether.c
@@ -203,9 +203,7 @@ ng_ether_input2(node_p node, struct mbuf **mp, struct ether_header *eh)
return;
/* Send out lower/orphan hook */
- NG_SEND_DATAQ(error, priv->lower, *mp, meta);
-
- /* Any reflected packet must come later due to queuing */
+ (void)ng_queue_data(priv->lower, *mp, meta);
*mp = NULL;
}
OpenPOWER on IntegriCloud