svn commit: r197916 - user/eri/pf45/head/sys/contrib/pf/net
Ermal Luçi
eri at FreeBSD.org
Fri Oct 9 23:38:10 UTC 2009
Author: eri
Date: Fri Oct 9 23:38:08 2009
New Revision: 197916
URL: http://svn.freebsd.org/changeset/base/197916
Log:
* Add to initialization/destroy some new pools used in pf(4)
* Fix a panic related to trying to allocate memory with M_WAITOK whith the lock held in pf(4) osfp code.
Modified:
user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c
user/eri/pf45/head/sys/contrib/pf/net/pf_osfp.c
Modified: user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c
==============================================================================
--- user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c Fri Oct 9 23:04:15 2009 (r197915)
+++ user/eri/pf45/head/sys/contrib/pf/net/pf_ioctl.c Fri Oct 9 23:38:08 2009 (r197916)
@@ -272,7 +272,8 @@ static struct cdevsw pf_cdevsw = {
init_zone_var(void)
{
pf_src_tree_pl = pf_rule_pl = NULL;
- pf_state_pl = pf_altq_pl = pf_pooladdr_pl = NULL;
+ pf_state_pl = pf_state_key_pl = pf_state_item_pl = NULL;
+ pf_altq_pl = pf_pooladdr_pl = NULL;
pf_frent_pl = pf_frag_pl = pf_cache_pl = pf_cent_pl = NULL;
pf_state_scrub_pl = NULL;
pfr_ktable_pl = pfr_kentry_pl = NULL;
@@ -284,6 +285,8 @@ static struct cdevsw pf_cdevsw = {
UMA_DESTROY(pf_src_tree_pl);
UMA_DESTROY(pf_rule_pl);
UMA_DESTROY(pf_state_pl);
+ UMA_DESTROY(pf_state_key_pl);
+ UMA_DESTROY(pf_state_item_pl);
UMA_DESTROY(pf_altq_pl);
UMA_DESTROY(pf_pooladdr_pl);
UMA_DESTROY(pf_frent_pl);
@@ -306,6 +309,8 @@ int
UMA_CREATE(pf_src_tree_pl,struct pf_src_node, "pfsrctrpl");
UMA_CREATE(pf_rule_pl, struct pf_rule, "pfrulepl");
UMA_CREATE(pf_state_pl, struct pf_state, "pfstatepl");
+ UMA_CREATE(pf_state_key_pl, struct pf_state, "pfstatekeypl");
+ UMA_CREATE(pf_state_item_pl, struct pf_state, "pfstateitempl");
UMA_CREATE(pf_altq_pl, struct pf_altq, "pfaltqpl");
UMA_CREATE(pf_pooladdr_pl, struct pf_pooladdr, "pfpooladdrpl");
UMA_CREATE(pfr_ktable_pl, struct pfr_ktable, "pfrktable");
Modified: user/eri/pf45/head/sys/contrib/pf/net/pf_osfp.c
==============================================================================
--- user/eri/pf45/head/sys/contrib/pf/net/pf_osfp.c Fri Oct 9 23:04:15 2009 (r197915)
+++ user/eri/pf45/head/sys/contrib/pf/net/pf_osfp.c Fri Oct 9 23:38:08 2009 (r197916)
@@ -410,7 +410,7 @@ pf_osfp_add(struct pf_osfp_ioctl *fpioc)
}
if ((entry = pool_get(&pf_osfp_entry_pl,
#ifdef __FreeBSD__
- PR_WAITOK)) == NULL)
+ PR_NOWAIT)) == NULL)
#else
PR_WAITOK|PR_LIMITFAIL)) == NULL)
#endif
@@ -418,7 +418,7 @@ pf_osfp_add(struct pf_osfp_ioctl *fpioc)
} else {
if ((fp = pool_get(&pf_osfp_pl,
#ifdef __FreeBSD__
- PR_WAITOK)) == NULL)
+ PR_NOWAIT)) == NULL)
#else
PR_WAITOK|PR_LIMITFAIL)) == NULL)
#endif
@@ -435,7 +435,7 @@ pf_osfp_add(struct pf_osfp_ioctl *fpioc)
SLIST_INIT(&fp->fp_oses);
if ((entry = pool_get(&pf_osfp_entry_pl,
#ifdef __FreeBSD__
- PR_WAITOK)) == NULL) {
+ PR_NOWAIT)) == NULL) {
#else
PR_WAITOK|PR_LIMITFAIL)) == NULL) {
#endif
More information about the svn-src-user
mailing list