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 ...



Reply via email to