Index: if_pfsync.c =================================================================== RCS file: /cvs/src/sys/net/if_pfsync.c,v retrieving revision 1.292 diff -u -p -r1.292 if_pfsync.c --- if_pfsync.c 15 Jun 2021 10:10:22 -0000 1.292 +++ if_pfsync.c 16 Jun 2021 07:00:29 -0000 @@ -1991,10 +1991,8 @@ pfsync_undefer_notify(struct pfsync_defe if (st->rt == PF_ROUTETO) { if (pf_setup_pdesc(&pdesc, st->key[PF_SK_WIRE]->af, - st->direction, st->kif, pd->pd_m, NULL) != PF_PASS) { - m_freem(pd->pd_m); + st->direction, st->kif, pd->pd_m, NULL) != PF_PASS) return; - } switch (st->key[PF_SK_WIRE]->af) { case AF_INET: pf_route(&pdesc, st); @@ -2032,8 +2030,7 @@ pfsync_free_deferral(struct pfsync_defer struct pfsync_softc *sc = pfsyncif; pf_state_unref(pd->pd_st); - if (pd->pd_m != NULL) - m_freem(pd->pd_m); + m_freem(pd->pd_m); pool_put(&sc->sc_pool, pd); } @@ -2048,10 +2045,7 @@ pfsync_undefer(struct pfsync_deferral *p return; CLR(pd->pd_st->state_flags, PFSTATE_ACK); - if (drop) { - m_freem(pd->pd_m); - pd->pd_m = NULL; - } else + if (!drop) pfsync_undefer_notify(pd); pfsync_free_deferral(pd);