On 25.11.2022. 10:12, Alexandr Nedvedicky wrote: > Looks like we need to synchronize pfsync destroy with timer thread. > > thanks for great testing. > > regards > sashan > > --------8<---------------8<---------------8<------------------8<-------- > diff --git a/sys/net/if_pfsync.c b/sys/net/if_pfsync.c > index f69790ee98d..24963a546de 100644 > --- a/sys/net/if_pfsync.c > +++ b/sys/net/if_pfsync.c > @@ -1865,8 +1865,6 @@ pfsync_undefer(struct pfsync_deferral *pd, int drop) > { > struct pfsync_softc *sc = pfsyncif; > > - NET_ASSERT_LOCKED(); > - > if (sc == NULL) > return; > > @@ -2128,8 +2126,6 @@ pfsync_delete_state(struct pf_state *st) > { > struct pfsync_softc *sc = pfsyncif; > > - NET_ASSERT_LOCKED(); > - > if (sc == NULL || !ISSET(sc->sc_if.if_flags, IFF_RUNNING)) > return; > > @@ -2188,8 +2184,6 @@ pfsync_clear_states(u_int32_t creatorid, const char > *ifname) > struct pfsync_clr clr; > } __packed r; > > - NET_ASSERT_LOCKED(); > - > if (sc == NULL || !ISSET(sc->sc_if.if_flags, IFF_RUNNING)) > return; >
Hi, yes, this diff helps and I can't panic box in the way i can without it. I will play with this diff and try to trigger more panics ... Thank you guys for work on unlocking pf and pfsync ...