diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c --- a/sys/geom/geom_subr.c +++ b/sys/geom/geom_subr.c @@ -575,8 +575,8 @@ return; pp = arg; G_VALID_PROVIDER(pp); - KASSERT(!(pp->flags & G_PF_WITHER), - ("g_new_provider_event but withered")); + if ((pp->flags & G_PF_WITHER) != 0) + return; LIST_FOREACH_SAFE(cp, &pp->consumers, consumers, next_cp) { if ((cp->flags & G_CF_ORPHAN) == 0 && cp->geom->attrchanged != NULL)