Date: Wed, 5 Feb 2020 03:07:21 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r357559 - head/sys/netgraph Message-ID: <202002050307.01537LMZ031225@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202002050307.01537LMZ031225>