Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf.c
Show First 20 Lines • Show All 701 Lines • ▼ Show 20 Lines | pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, | ||||
return (n); | return (n); | ||||
} | } | ||||
static void | static void | ||||
pf_free_src_node(struct pf_ksrc_node *sn) | pf_free_src_node(struct pf_ksrc_node *sn) | ||||
{ | { | ||||
for (int i = 0; i < 2; i++) { | for (int i = 0; i < 2; i++) { | ||||
if (sn->bytes[i]) | |||||
counter_u64_free(sn->bytes[i]); | counter_u64_free(sn->bytes[i]); | ||||
if (sn->packets[i]) | |||||
counter_u64_free(sn->packets[i]); | counter_u64_free(sn->packets[i]); | ||||
} | } | ||||
uma_zfree(V_pf_sources_z, sn); | uma_zfree(V_pf_sources_z, sn); | ||||
} | } | ||||
static int | static int | ||||
pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_krule *rule, | pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_krule *rule, | ||||
struct pf_addr *src, sa_family_t af) | struct pf_addr *src, sa_family_t af) | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 1,012 Lines • ▼ Show 20 Lines | |||||
pf_free_state(struct pf_state *cur) | pf_free_state(struct pf_state *cur) | ||||
{ | { | ||||
KASSERT(cur->refs == 0, ("%s: %p has refs", __func__, cur)); | KASSERT(cur->refs == 0, ("%s: %p has refs", __func__, cur)); | ||||
KASSERT(cur->timeout == PFTM_UNLINKED, ("%s: timeout %u", __func__, | KASSERT(cur->timeout == PFTM_UNLINKED, ("%s: timeout %u", __func__, | ||||
cur->timeout)); | cur->timeout)); | ||||
for (int i = 0; i < 2; i++) { | for (int i = 0; i < 2; i++) { | ||||
if (cur->bytes[i] != NULL) | |||||
counter_u64_free(cur->bytes[i]); | counter_u64_free(cur->bytes[i]); | ||||
if (cur->packets[i] != NULL) | |||||
counter_u64_free(cur->packets[i]); | counter_u64_free(cur->packets[i]); | ||||
} | } | ||||
pf_normalize_tcp_cleanup(cur); | pf_normalize_tcp_cleanup(cur); | ||||
uma_zfree(V_pf_state_z, cur); | uma_zfree(V_pf_state_z, cur); | ||||
counter_u64_add(V_pf_status.fcounters[FCNT_STATE_REMOVALS], 1); | counter_u64_add(V_pf_status.fcounters[FCNT_STATE_REMOVALS], 1); | ||||
} | } | ||||
/* | /* | ||||
▲ Show 20 Lines • Show All 4,972 Lines • Show Last 20 Lines |