summaryrefslogtreecommitdiff
path: root/sys/net
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2007-05-23 11:53:46 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2007-05-23 11:53:46 +0000
commit606cdcd1dc667624a936a4974c2f3a19fc464000 (patch)
tree2d84b9f02573e80fa28962353144e0596eddc0d4 /sys/net
parent930af79647980eba07eb17164f38b3379a6c3871 (diff)
use the intr pool when allocating from interrupt context;
fixes pppoe f_addrhooks panics (e.g. pr 5454); ok canacar
Diffstat (limited to 'sys/net')
-rw-r--r--sys/net/pf_table.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/net/pf_table.c b/sys/net/pf_table.c
index 12e598cbaab..98c3d560e60 100644
--- a/sys/net/pf_table.c
+++ b/sys/net/pf_table.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf_table.c,v 1.69 2007/03/20 10:37:29 mickey Exp $ */
+/* $OpenBSD: pf_table.c,v 1.70 2007/05/23 11:53:45 markus Exp $ */
/*
* Copyright (c) 2002 Cedric Berger
@@ -277,7 +277,8 @@ pfr_add_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size,
ad.pfra_fback = PFR_FB_NONE;
}
if (p == NULL && q == NULL) {
- p = pfr_create_kentry(&ad, 0);
+ p = pfr_create_kentry(&ad,
+ !(flags & PFR_FLAG_USERIOCTL));
if (p == NULL)
senderr(ENOMEM);
if (pfr_route_kentry(tmpkt, p)) {
@@ -457,7 +458,8 @@ pfr_set_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size,
ad.pfra_fback = PFR_FB_DUPLICATE;
goto _skip;
}
- p = pfr_create_kentry(&ad, 0);
+ p = pfr_create_kentry(&ad,
+ !(flags & PFR_FLAG_USERIOCTL));
if (p == NULL)
senderr(ENOMEM);
if (pfr_route_kentry(tmpkt, p)) {