svn commit: r239173 - projects/pf/head/sys/contrib/pf/net
Gleb Smirnoff
glebius at FreeBSD.org
Fri Aug 10 11:01:56 UTC 2012
Author: glebius
Date: Fri Aug 10 11:01:55 2012
New Revision: 239173
URL: http://svn.freebsd.org/changeset/base/239173
Log:
Catch up with r238421 in pfsync. We need to initalize allocated keys.
Reported by: Ben Wilber <ben desync.com>
Modified:
projects/pf/head/sys/contrib/pf/net/if_pfsync.c
Modified: projects/pf/head/sys/contrib/pf/net/if_pfsync.c
==============================================================================
--- projects/pf/head/sys/contrib/pf/net/if_pfsync.c Fri Aug 10 09:04:02 2012 (r239172)
+++ projects/pf/head/sys/contrib/pf/net/if_pfsync.c Fri Aug 10 11:01:55 2012 (r239173)
@@ -460,17 +460,23 @@ pfsync_state_import(struct pfsync_state
if ((st = uma_zalloc(V_pf_state_z, M_NOWAIT | M_ZERO)) == NULL)
goto cleanup;
- if ((skw = uma_zalloc(V_pf_state_key_z, M_NOWAIT)) == NULL)
+ if ((skw = uma_zalloc(V_pf_state_key_z, M_NOWAIT | M_ZERO)) == NULL)
goto cleanup;
+ TAILQ_INIT(&skw->states[PF_SK_WIRE]);
+ TAILQ_INIT(&skw->states[PF_SK_STACK]);
+
if (PF_ANEQ(&sp->key[PF_SK_WIRE].addr[0],
&sp->key[PF_SK_STACK].addr[0], sp->af) ||
PF_ANEQ(&sp->key[PF_SK_WIRE].addr[1],
&sp->key[PF_SK_STACK].addr[1], sp->af) ||
sp->key[PF_SK_WIRE].port[0] != sp->key[PF_SK_STACK].port[0] ||
sp->key[PF_SK_WIRE].port[1] != sp->key[PF_SK_STACK].port[1]) {
- if ((sks = uma_zalloc(V_pf_state_key_z, M_NOWAIT)) == NULL)
+ sks = uma_zalloc(V_pf_state_key_z, M_NOWAIT | M_ZERO);
+ if (sks == NULL)
goto cleanup;
+ TAILQ_INIT(&sks->states[PF_SK_WIRE]);
+ TAILQ_INIT(&sks->states[PF_SK_STACK]);
} else
sks = skw;
More information about the svn-src-projects
mailing list