hiren added a comment. >>! In D1711#61, @hselasky wrote: > Hi, > > There is only one or two likely consumers of callout_init_rw() at the present > moment, and one of them is: > > ./netinet6/nd6.c: canceled = callout_stop(&ln->ln_timer_ch); > ./netinet6/nd6.c: canceled = > callout_reset(&ln->ln_timer_ch, INT_MAX, > ./netinet6/nd6.c: canceled = > callout_reset(&ln->ln_timer_ch, tick, > ./netinet6/in6.c: callout_init_rw(&lle->base.ln_timer_ch, > &lle->base.lle_lock, > > hiren: Is this box configured for IPv6 ?
No, not for panic #3. But as I replied to rrs's comment, I need to first make sure what tree we are running and if we are missing critical fixes from stable-10. > > static void > in_lltable_free(struct lltable *llt, struct llentry *lle) > { > LLE_WUNLOCK(lle); > LLE_LOCK_DESTROY(lle); > free(lle, M_LLTABLE); > } > > ln_lltable_free() does not drain the callout associated with it and I am not > sure if we have a sleeping context for that. Even if the refcount is zero, it > doesn't mean that the callback is finished using the RW mutex. > > This is another example where we really need a > "callout_drain_async_function()". REVISION DETAIL https://reviews.freebsd.org/D1711 To: rrs, gnn, rwatson, lstewart, jhb, kostikbel, hselasky, adrian, imp, sbruno Cc: hiren, jhb, kostikbel, emaste, delphij, neel, erj, freebsd-net _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"