summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2009-01-30 10:32:27 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2009-01-30 10:32:27 +0000
commit0827fc0116d552147ac67ddb1da20fc37bad6d7d (patch)
tree821ba98caaab00f13d7a4050cbd8da04023f98b1 /sys
parentb66a87ee9cd61ddcd5ded18d388ffd199fb3f9f4 (diff)
sprinkle splassert(IPL_SOFTNET) around the code that inserts, unlinks, and
frees pf states. ok mcbride@
Diffstat (limited to 'sys')
-rw-r--r--sys/net/pf.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/net/pf.c b/sys/net/pf.c
index b483c67b0ac..9dc6b29a4b7 100644
--- a/sys/net/pf.c
+++ b/sys/net/pf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf.c,v 1.630 2009/01/29 15:12:28 pyr Exp $ */
+/* $OpenBSD: pf.c,v 1.631 2009/01/30 10:32:26 dlg Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -773,6 +773,8 @@ int
pf_state_insert(struct pfi_kif *kif, struct pf_state_key *skw,
struct pf_state_key *sks, struct pf_state *s)
{
+ splassert(IPL_SOFTNET);
+
s->kif = kif;
if (skw == sks) {
@@ -1050,6 +1052,8 @@ pf_src_tree_remove_state(struct pf_state *s)
void
pf_unlink_state(struct pf_state *cur)
{
+ splassert(IPL_SOFTNET);
+
if (cur->src.state == PF_TCPS_PROXY_DST) {
/* XXX wire key the right one? */
pf_send_tcp(cur->rule.ptr, cur->key[PF_SK_WIRE]->af,
@@ -1079,6 +1083,8 @@ pf_unlink_state(struct pf_state *cur)
void
pf_free_state(struct pf_state *cur)
{
+ splassert(IPL_SOFTNET);
+
#if NPFSYNC > 0
if (pfsyncif != NULL &&
(pfsyncif->sc_bulk_send_next == cur ||