summaryrefslogtreecommitdiffstats
path: root/sys/net/pf_ioctl.c
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2007-06-01 18:44:22 +0000
committerhenning <henning@openbsd.org>2007-06-01 18:44:22 +0000
commit6d15dfa7be589f303014dc68e33d93fd0a601016 (patch)
tree9acd2a8ee964777a935d58ea3cfbdc60963816ae /sys/net/pf_ioctl.c
parentIntel(R) -> Intel (diff)
downloadwireguard-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.c11
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;
}