diff options
author | Markus Friedl <markus@cvs.openbsd.org> | 2007-05-23 11:53:46 +0000 |
---|---|---|
committer | Markus Friedl <markus@cvs.openbsd.org> | 2007-05-23 11:53:46 +0000 |
commit | 606cdcd1dc667624a936a4974c2f3a19fc464000 (patch) | |
tree | 2d84b9f02573e80fa28962353144e0596eddc0d4 /sys/net | |
parent | 930af79647980eba07eb17164f38b3379a6c3871 (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.c | 8 |
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)) { |