From 91d6c9b93ebcb931a083177d62a1274a3ee5b9ac Mon Sep 17 00:00:00 2001 From: Matt Macy Date: Wed, 30 May 2018 21:46:10 +0000 Subject: [PATCH] if_setlladdr: don't call ioctl in epoch context PR: 228612 Reported by: markj --- sys/net/if.c | 2 ++ 1 file changed, 2 insertions(+) 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);