diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2019-10-10 23:47:14 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2019-10-10 23:47:14 +0000 |
| commit | 57985d11b431632441e281752b5fe70ed7515941 (patch) | |
| tree | e19f4e6ca7e2831c577641226f18fd971bdf7844 /sys/netgraph | |
| parent | fb3fc771f6fcfda3e55b4abbbc2c3a0503af2619 (diff) | |
Notes
Diffstat (limited to 'sys/netgraph')
| -rw-r--r-- | sys/netgraph/ng_ether.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index 3b1a9efc849e1..b307b3d5ab88d 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -578,6 +578,7 @@ ng_ether_rcvmsg(node_p node, item_p item, hook_p lasthook) case NGM_ETHER_ADD_MULTI: { struct sockaddr_dl sa_dl; + struct epoch_tracker et; struct ifmultiaddr *ifma; if (msg->header.arglen != ETHER_ADDR_LEN) { @@ -597,10 +598,10 @@ ng_ether_rcvmsg(node_p node, item_p item, hook_p lasthook) * lose a race while we check if the membership * already exists. */ - if_maddr_rlock(priv->ifp); + NET_EPOCH_ENTER(et); ifma = if_findmulti(priv->ifp, (struct sockaddr *)&sa_dl); - if_maddr_runlock(priv->ifp); + NET_EPOCH_EXIT(et); if (ifma != NULL) { error = EADDRINUSE; } else { |
