svn commit: r357559 - head/sys/netgraph
Gleb Smirnoff
glebius at FreeBSD.org
Wed Feb 5 03:07:21 UTC 2020
Author: glebius
Date: Wed Feb 5 03:07:20 2020
New Revision: 357559
URL: https://svnweb.freebsd.org/changeset/base/357559
Log:
I doubt anybody in the world uses ng_device, but its write method should
also enter the network epoch when sending data from user level to netgraph.
Modified:
head/sys/netgraph/ng_device.c
Modified: head/sys/netgraph/ng_device.c
==============================================================================
--- head/sys/netgraph/ng_device.c Wed Feb 5 03:06:29 2020 (r357558)
+++ head/sys/netgraph/ng_device.c Wed Feb 5 03:07:20 2020 (r357559)
@@ -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);
}
More information about the svn-src-all
mailing list