[netfilter-cvslog] r3740 -
trunk/patch-o-matic-ng/hashlimit/linux-2.6/net/ipv4/netfilter
laforge at netfilter.org
laforge at netfilter.org
Tue Feb 22 12:36:47 CET 2005
Author: laforge at netfilter.org
Date: 2005-02-22 12:36:46 +0100 (Tue, 22 Feb 2005)
New Revision: 3740
Modified:
trunk/patch-o-matic-ng/hashlimit/linux-2.6/net/ipv4/netfilter/ipt_hashlimit.c
Log:
replace rwlock by spinlock (Samuel Jean)
Modified: trunk/patch-o-matic-ng/hashlimit/linux-2.6/net/ipv4/netfilter/ipt_hashlimit.c
===================================================================
--- trunk/patch-o-matic-ng/hashlimit/linux-2.6/net/ipv4/netfilter/ipt_hashlimit.c 2005-02-22 11:36:07 UTC (rev 3739)
+++ trunk/patch-o-matic-ng/hashlimit/linux-2.6/net/ipv4/netfilter/ipt_hashlimit.c 2005-02-22 11:36:46 UTC (rev 3740)
@@ -97,7 +97,7 @@
struct list_head hash[0]; /* hashtable itself */
};
-static DECLARE_RWLOCK(hashlimit_lock); /* protects htables list */
+static DECLARE_LOCK(hashlimit_lock); /* protects htables list */
static DECLARE_MUTEX(hlimit_mutex); /* additional checkentry protection */
static LIST_HEAD(hashlimit_htables);
static kmem_cache_t *hashlimit_cachep;
@@ -230,9 +230,9 @@
hinfo->timer.function = htable_gc;
add_timer(&hinfo->timer);
- WRITE_LOCK(&hashlimit_lock);
+ LOCK_BH(&hashlimit_lock);
list_add(&hinfo->list, &hashlimit_htables);
- WRITE_UNLOCK(&hashlimit_lock);
+ UNLOCK_BH(&hashlimit_lock);
return 0;
}
@@ -296,15 +296,15 @@
{
struct ipt_hashlimit_htable *hinfo;
- READ_LOCK(&hashlimit_lock);
+ LOCK_BH(&hashlimit_lock);
list_for_each_entry(hinfo, &hashlimit_htables, list) {
if (!strcmp(name, hinfo->pde->name)) {
atomic_inc(&hinfo->use);
- READ_UNLOCK(&hashlimit_lock);
+ UNLOCK_BH(&hashlimit_lock);
return hinfo;
}
}
- READ_UNLOCK(&hashlimit_lock);
+ UNLOCK_BH(&hashlimit_lock);
return NULL;
}
@@ -312,9 +312,9 @@
static void htable_put(struct ipt_hashlimit_htable *hinfo)
{
if (atomic_dec_and_test(&hinfo->use)) {
- WRITE_LOCK(&hashlimit_lock);
+ LOCK_BH(&hashlimit_lock);
list_del(&hinfo->list);
- WRITE_UNLOCK(&hashlimit_lock);
+ UNLOCK_BH(&hashlimit_lock);
htable_destroy(hinfo);
}
}
More information about the netfilter-cvslog
mailing list