summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/ChangeLog5
-rw-r--r--kernel/ip_set_ipportnethash.c1
-rw-r--r--kernel/ip_set_nethash.c1
3 files changed, 5 insertions, 2 deletions
diff --git a/kernel/ChangeLog b/kernel/ChangeLog
index f613c94..1ad54cd 100644
--- a/kernel/ChangeLog
+++ b/kernel/ChangeLog
@@ -1,3 +1,8 @@
+4.2
+ - nethash and ipportnethash types counted every entry twice
+ which could produce bogus entries when listing/saving these types
+ of sets (bug reported by Husnu Demir)
+
4.1
- Do not use init_MUTEX either (Jan Engelhardt)
- Improve listing/saving hash type of sets by not copying empty
diff --git a/kernel/ip_set_ipportnethash.c b/kernel/ip_set_ipportnethash.c
index f328972..e0bb352 100644
--- a/kernel/ip_set_ipportnethash.c
+++ b/kernel/ip_set_ipportnethash.c
@@ -185,7 +185,6 @@ ipportnethash_add(struct ip_set *set,
if (ret == 0) {
if (!map->nets[cidr-1]++)
add_cidr_size(map->cidr, cidr);
- map->elements++;
}
return ret;
}
diff --git a/kernel/ip_set_nethash.c b/kernel/ip_set_nethash.c
index bf87f5c..e3b09e0 100644
--- a/kernel/ip_set_nethash.c
+++ b/kernel/ip_set_nethash.c
@@ -136,7 +136,6 @@ nethash_add(struct ip_set *set, ip_set_ip_t ip, uint8_t cidr)
if (ret == 0) {
if (!map->nets[cidr-1]++)
add_cidr_size(map->cidr, cidr);
- map->elements++;
}
return ret;