[netfilter-cvslog] r4138 - in trunk/patch-o-matic-ng/patchlets/set:
linux/net/ipv4/netfilter linux-2.6/net/ipv4/netfilter
kadlec at netfilter.org
kadlec at netfilter.org
Wed Jul 20 11:15:15 CEST 2005
Author: kadlec at netfilter.org
Date: 2005-07-20 11:15:15 +0200 (Wed, 20 Jul 2005)
New Revision: 4138
Modified:
trunk/patch-o-matic-ng/patchlets/set/linux-2.6/net/ipv4/netfilter/ip_set_iptree.c
trunk/patch-o-matic-ng/patchlets/set/linux/net/ipv4/netfilter/ip_set_iptree.c
Log:
Several bugs in ip_set_iptree.c fixed:
- Jiffies rollover bug in ip_set_iptree reported and fixed by Rob Nielsen
- Compiler warning in the non-SMP case fixed (Marcus Sundberg)
- slab cache names shrunk in order to be compatible with 2.4.* (Marcus
Sundberg)
Modified: trunk/patch-o-matic-ng/patchlets/set/linux/net/ipv4/netfilter/ip_set_iptree.c
===================================================================
--- trunk/patch-o-matic-ng/patchlets/set/linux/net/ipv4/netfilter/ip_set_iptree.c 2005-07-20 08:47:22 UTC (rev 4137)
+++ trunk/patch-o-matic-ng/patchlets/set/linux/net/ipv4/netfilter/ip_set_iptree.c 2005-07-20 09:15:15 UTC (rev 4138)
@@ -17,6 +17,7 @@
#include <linux/errno.h>
#include <asm/uaccess.h>
#include <asm/bitops.h>
+#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/netfilter_ipv4/ip_set_iptree.h>
@@ -60,7 +61,7 @@
TESTIP_WALK(btree, b, ctree);
TESTIP_WALK(ctree, c, dtree);
DP("%lu %lu", dtree->expires[d], jiffies);
- return !!(map->timeout ? (dtree->expires[d] > jiffies)
+ return !!(map->timeout ? (time_after(dtree->expires[d], jiffies))
: dtree->expires[d]);
}
@@ -133,7 +134,7 @@
ADDIP_WALK(btree, b, ctree, struct ip_set_iptreec, branch_cachep);
ADDIP_WALK(ctree, c, dtree, struct ip_set_iptreed, leaf_cachep);
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies))
+ && (!map->timeout || time_after(dtree->expires[d], jiffies)))
ret = -EEXIST;
dtree->expires[d] = map->timeout ? (timeout * HZ + jiffies) : 1;
DP("%u %lu", d, dtree->expires[d]);
@@ -403,7 +404,7 @@
LOOP_WALK_BEGIN(ctree, c, dtree);
for (d = 0; d < 255; d++) {
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies))
+ && (!map->timeout || time_after(dtree->expires[d], jiffies)))
count++;
}
LOOP_WALK_END;
@@ -429,7 +430,7 @@
LOOP_WALK_BEGIN(ctree, c, dtree);
for (d = 0; d < 255; d++) {
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies)) {
+ && (!map->timeout || time_after(dtree->expires[d], jiffies))) {
entry = (struct ip_set_req_iptree *)(data + offset);
entry->ip = ((a << 24) | (b << 16) | (c << 8) | d);
entry->timeout = !map->timeout ? 0
@@ -471,19 +472,19 @@
{
int ret;
- branch_cachep = kmem_cache_create("ip_set_iptree_branches",
+ branch_cachep = kmem_cache_create("ip_set_iptreeb",
sizeof(struct ip_set_iptreeb),
0, 0, NULL, NULL);
if (!branch_cachep) {
- printk(KERN_ERR "Unable to create ip_set_iptree_branches slab cache\n");
+ printk(KERN_ERR "Unable to create ip_set_iptreeb slab cache\n");
ret = -ENOMEM;
goto out;
}
- leaf_cachep = kmem_cache_create("ip_set_iptree_leaves",
+ leaf_cachep = kmem_cache_create("ip_set_iptreed",
sizeof(struct ip_set_iptreed),
0, 0, NULL, NULL);
if (!leaf_cachep) {
- printk(KERN_ERR "Unable to create ip_set_iptree_leaves slab cache\n");
+ printk(KERN_ERR "Unable to create ip_set_iptreed slab cache\n");
ret = -ENOMEM;
goto free_branch;
}
Modified: trunk/patch-o-matic-ng/patchlets/set/linux-2.6/net/ipv4/netfilter/ip_set_iptree.c
===================================================================
--- trunk/patch-o-matic-ng/patchlets/set/linux-2.6/net/ipv4/netfilter/ip_set_iptree.c 2005-07-20 08:47:22 UTC (rev 4137)
+++ trunk/patch-o-matic-ng/patchlets/set/linux-2.6/net/ipv4/netfilter/ip_set_iptree.c 2005-07-20 09:15:15 UTC (rev 4138)
@@ -60,7 +60,7 @@
TESTIP_WALK(btree, b, ctree);
TESTIP_WALK(ctree, c, dtree);
DP("%lu %lu", dtree->expires[d], jiffies);
- return !!(map->timeout ? (dtree->expires[d] > jiffies)
+ return !!(map->timeout ? (time_after(dtree->expires[d], jiffies))
: dtree->expires[d]);
}
@@ -133,7 +133,7 @@
ADDIP_WALK(btree, b, ctree, struct ip_set_iptreec, branch_cachep);
ADDIP_WALK(ctree, c, dtree, struct ip_set_iptreed, leaf_cachep);
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies))
+ && (!map->timeout || time_after(dtree->expires[d], jiffies)))
ret = -EEXIST;
dtree->expires[d] = map->timeout ? (timeout * HZ + jiffies) : 1;
DP("%u %lu", d, dtree->expires[d]);
@@ -403,7 +403,7 @@
LOOP_WALK_BEGIN(ctree, c, dtree);
for (d = 0; d < 255; d++) {
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies))
+ && (!map->timeout || time_after(dtree->expires[d], jiffies)))
count++;
}
LOOP_WALK_END;
@@ -429,7 +429,7 @@
LOOP_WALK_BEGIN(ctree, c, dtree);
for (d = 0; d < 255; d++) {
if (dtree->expires[d]
- && (!map->timeout || dtree->expires[d] > jiffies)) {
+ && (!map->timeout || time_after(dtree->expires[d], jiffies))) {
entry = (struct ip_set_req_iptree *)(data + offset);
entry->ip = ((a << 24) | (b << 16) | (c << 8) | d);
entry->timeout = !map->timeout ? 0
@@ -471,19 +471,19 @@
{
int ret;
- branch_cachep = kmem_cache_create("ip_set_iptree_branches",
+ branch_cachep = kmem_cache_create("ip_set_iptreeb",
sizeof(struct ip_set_iptreeb),
0, 0, NULL, NULL);
if (!branch_cachep) {
- printk(KERN_ERR "Unable to create ip_set_iptree_branches slab cache\n");
+ printk(KERN_ERR "Unable to create ip_set_iptreeb slab cache\n");
ret = -ENOMEM;
goto out;
}
- leaf_cachep = kmem_cache_create("ip_set_iptree_leaves",
+ leaf_cachep = kmem_cache_create("ip_set_iptreed",
sizeof(struct ip_set_iptreed),
0, 0, NULL, NULL);
if (!leaf_cachep) {
- printk(KERN_ERR "Unable to create ip_set_iptree_leaves slab cache\n");
+ printk(KERN_ERR "Unable to create ip_set_iptreed slab cache\n");
ret = -ENOMEM;
goto free_branch;
}
More information about the netfilter-cvslog
mailing list