svn commit: r240737 - head/sys/netpfil/pf
Gleb Smirnoff
glebius at FreeBSD.org
Thu Sep 20 07:04:09 UTC 2012
Author: glebius
Date: Thu Sep 20 07:04:08 2012
New Revision: 240737
URL: http://svn.freebsd.org/changeset/base/240737
Log:
Reduce copy/paste when freeing an source node.
Modified:
head/sys/netpfil/pf/pf.c
Modified: head/sys/netpfil/pf/pf.c
==============================================================================
--- head/sys/netpfil/pf/pf.c Thu Sep 20 06:52:05 2012 (r240736)
+++ head/sys/netpfil/pf/pf.c Thu Sep 20 07:04:08 2012 (r240737)
@@ -673,6 +673,11 @@ pf_remove_src_node(struct pf_src_node *s
PF_HASHROW_LOCK(sh);
LIST_REMOVE(src, entry);
PF_HASHROW_UNLOCK(sh);
+
+ V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS]++;
+ V_pf_status.src_nodes--;
+
+ uma_zfree(V_pf_sources_z, src);
}
/* Data storage structures initialization. */
@@ -3547,18 +3552,12 @@ csfailed:
if (nk != NULL)
uma_zfree(V_pf_state_key_z, nk);
- if (sn != NULL && sn->states == 0 && sn->expire == 0) {
+ if (sn != NULL && sn->states == 0 && sn->expire == 0)
pf_remove_src_node(sn);
- V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS]++;
- V_pf_status.src_nodes--;
- uma_zfree(V_pf_sources_z, sn);
- }
- if (nsn != sn && nsn != NULL && nsn->states == 0 && nsn->expire == 0) {
+
+ if (nsn != sn && nsn != NULL && nsn->states == 0 && nsn->expire == 0)
pf_remove_src_node(nsn);
- V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS]++;
- V_pf_status.src_nodes--;
- uma_zfree(V_pf_sources_z, nsn);
- }
+
return (PF_DROP);
}
More information about the svn-src-all
mailing list