diff options
author | Matt Macy <mmacy@FreeBSD.org> | 2018-05-30 21:46:10 +0000 |
---|---|---|
committer | Matt Macy <mmacy@FreeBSD.org> | 2018-05-30 21:46:10 +0000 |
commit | 91d6c9b93ebcb931a083177d62a1274a3ee5b9ac (patch) | |
tree | 37bec0274a16a380e705620c5e9e0ce6e2386089 /sys/net | |
parent | d05d616c355d52cc59437c555a62e826b9b269cc (diff) | |
download | src-91d6c9b93ebcb931a083177d62a1274a3ee5b9ac.tar.gz src-91d6c9b93ebcb931a083177d62a1274a3ee5b9ac.zip |
if_setlladdr: don't call ioctl in epoch context
PR: 228612
Reported by: markj
Notes
Notes:
svn path=/head/; revision=334402
Diffstat (limited to 'sys/net')
-rw-r--r-- | sys/net/if.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net/if.c b/sys/net/if.c index 37ed26092c0c..6d85a0f1165d 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -3839,6 +3839,7 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, int len) * to re-init it in order to reprogram its * address filter. */ + NET_EPOCH_EXIT(); if ((ifp->if_flags & IFF_UP) != 0) { if (ifp->if_ioctl) { ifp->if_flags &= ~IFF_UP; @@ -3852,6 +3853,7 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, int len) } } EVENTHANDLER_INVOKE(iflladdr_event, ifp); + return (0); out: NET_EPOCH_EXIT(); return (rc); |