Author: mmacy
Date: Wed May 30 21:46:10 2018
New Revision: 334402
URL: https://svnweb.freebsd.org/changeset/base/334402

Log:
  if_setlladdr: don't call ioctl in epoch context
  
  PR: 228612
  Reported by: markj

Modified:
  head/sys/net/if.c

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c   Wed May 30 20:47:20 2018        (r334401)
+++ head/sys/net/if.c   Wed May 30 21:46:10 2018        (r334402)
@@ -3839,6 +3839,7 @@ if_setlladdr(struct ifnet *ifp, const u_char *lladdr, 
         * 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, 
                }
        }
        EVENTHANDLER_INVOKE(iflladdr_event, ifp);
+       return (0);
  out:
        NET_EPOCH_EXIT();
        return (rc);
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to