aboutsummaryrefslogtreecommitdiff
path: root/sys/netgraph
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2020-02-05 03:07:20 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2020-02-05 03:07:20 +0000
commitf71291a65edabf05123ac95754778ec67717a463 (patch)
treea2a5b7481ab07d6864b985f7431c48d1b8389b53 /sys/netgraph
parent940508a5beb61bf614c10e6e6e8763303c5b9ab6 (diff)
Notes
Diffstat (limited to 'sys/netgraph')
-rw-r--r--sys/netgraph/ng_device.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/netgraph/ng_device.c b/sys/netgraph/ng_device.c
index b239982df28ca..248572b6fd497 100644
--- a/sys/netgraph/ng_device.c
+++ b/sys/netgraph/ng_device.c
@@ -46,6 +46,8 @@
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/poll.h>
+#include <sys/proc.h>
+#include <sys/epoch.h>
#include <sys/queue.h>
#include <sys/socket.h>
#include <sys/systm.h>
@@ -454,6 +456,7 @@ ngdread(struct cdev *dev, struct uio *uio, int flag)
static int
ngdwrite(struct cdev *dev, struct uio *uio, int flag)
{
+ struct epoch_tracker et;
priv_p priv = (priv_p )dev->si_drv1;
struct mbuf *m;
int error = 0;
@@ -469,7 +472,9 @@ ngdwrite(struct cdev *dev, struct uio *uio, int flag)
if ((m = m_uiotombuf(uio, M_NOWAIT, 0, 0, M_PKTHDR)) == NULL)
return (ENOBUFS);
+ NET_EPOCH_ENTER(et);
NG_SEND_DATA_ONLY(error, priv->hook, m);
+ NET_EPOCH_EXIT(et);
return (error);
}