Index: sys/net/if.c =================================================================== --- sys/net/if.c +++ sys/net/if.c @@ -1582,15 +1582,17 @@ CK_STAILQ_REMOVE(&V_ifg_head, ifgl->ifgl_group, ifg_group, ifg_next); ifglfree = 1; } - IFNET_WUNLOCK(); + epoch_wait_preempt(net_epoch_preempt); - free(ifgm, M_TEMP); if (ifglfree) { EVENTHANDLER_INVOKE(group_detach_event, ifgl->ifgl_group); free(ifgl->ifgl_group, M_TEMP); } + free(ifgm, M_TEMP); + free(ifgl, M_TEMP); + EVENTHANDLER_INVOKE(group_change_event, groupname); IFNET_WLOCK();