Page MenuHomeFreeBSD

D36496.1789873929.diff
No OneTemporary

Size
666 B
Referenced Files
None
Subscribers
None

D36496.1789873929.diff

diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c
--- a/sys/netgraph/ng_base.c
+++ b/sys/netgraph/ng_base.c
@@ -3439,7 +3439,19 @@
} else {
NG_QUEUE_UNLOCK(&node->nd_input_queue);
NGI_GET_NODE(item, node); /* zaps stored node */
- ng_apply_item(node, item, rw);
+
+ if ((item->el_flags & NGQF_TYPE) == NGQF_MESG) {
+ /*
+ * NGQF_MESG items should never be processed in
+ * NET_EPOCH context. So, temporary exit from EPOCH.
+ */
+ NET_EPOCH_EXIT(et);
+ ng_apply_item(node, item, rw);
+ NET_EPOCH_ENTER(et);
+ } else {
+ ng_apply_item(node, item, rw);
+ }
+
NG_NODE_UNREF(node);
}
}

File Metadata

Mime Type
text/plain
Expires
Sun, Sep 20, 3:12 AM (17 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29806175
Default Alt Text
D36496.1789873929.diff (666 B)

Event Timeline