diff options
author | 2007-06-01 18:44:22 +0000 | |
---|---|---|
committer | 2007-06-01 18:44:22 +0000 | |
commit | 6d15dfa7be589f303014dc68e33d93fd0a601016 (patch) | |
tree | 9acd2a8ee964777a935d58ea3cfbdc60963816ae /sys/net/pf_ioctl.c | |
parent | Intel(R) -> Intel (diff) | |
download | wireguard-openbsd-6d15dfa7be589f303014dc68e33d93fd0a601016.tar.xz wireguard-openbsd-6d15dfa7be589f303014dc68e33d93fd0a601016.zip |
factor out duplicated code to allocate state key and cross-reference it
with a state entry into a new pf_alloc_state_key() function and use it
everywhere. makes upcoming changes way easier and is cleaner anyway.
conceptually agreed by ryan, but he's on the road now ;(
Diffstat (limited to 'sys/net/pf_ioctl.c')
-rw-r--r-- | sys/net/pf_ioctl.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/net/pf_ioctl.c b/sys/net/pf_ioctl.c index 1b7610c0656..8535af9c172 100644 --- a/sys/net/pf_ioctl.c +++ b/sys/net/pf_ioctl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pf_ioctl.c,v 1.178 2007/05/31 18:48:05 mcbride Exp $ */ +/* $OpenBSD: pf_ioctl.c,v 1.179 2007/06/01 18:44:23 henning Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -898,11 +898,6 @@ void pf_state_import(struct pfsync_state *sp, struct pf_state_key *sk, struct pf_state *s) { - bzero(sk, sizeof(struct pf_state_key)); - bzero(s, sizeof(struct pf_state)); - sk->state = s; - s->state_key = sk; - /* copy to state key */ sk->lan.addr = sp->lan.addr; sk->lan.port = sp->lan.port; @@ -1645,8 +1640,8 @@ pfioctl(dev_t dev, u_long cmd, caddr_t addr, int flags, struct proc *p) error = ENOMEM; break; } - sk = pool_get(&pf_state_key_pl, PR_NOWAIT); - if (sk == NULL) { + bzero(s, sizeof(struct pf_state)); + if ((sk = pf_alloc_state_key(s)) == NULL) { error = ENOMEM; break; } |