From 50197fe55fa9af9d8bd8500459b4dbbffd1419a0 Mon Sep 17 00:00:00 2001 From: Sergey Popovich Date: Fri, 23 Jan 2015 14:58:45 +0200 Subject: netfilter: ipset: Fix hashing for ipv6 sets HKEY_DATALEN remains defined after first inclusion of ip_set_hash_gen.h, so it is incorrectly reused for IPv6 code. Undefine HKEY_DATALEN in ip_set_hash_gen.h at the end. Also remove some useless defines of HKEY_DATALEN in ip_set_hash_{ip{,mark,port},netiface}.c as ip_set_hash_gen.h defines it correctly for such set types anyway. Signed-off-by: Sergey Popovich Signed-off-by: Jozsef Kadlecsik --- kernel/net/netfilter/ipset/ip_set_hash_gen.h | 2 ++ kernel/net/netfilter/ipset/ip_set_hash_ip.c | 1 - kernel/net/netfilter/ipset/ip_set_hash_ipmark.c | 3 --- kernel/net/netfilter/ipset/ip_set_hash_ipport.c | 3 --- kernel/net/netfilter/ipset/ip_set_hash_netiface.c | 1 - 5 files changed, 2 insertions(+), 8 deletions(-) (limited to 'kernel') diff --git a/kernel/net/netfilter/ipset/ip_set_hash_gen.h b/kernel/net/netfilter/ipset/ip_set_hash_gen.h index d9b4a2a..102aa16 100644 --- a/kernel/net/netfilter/ipset/ip_set_hash_gen.h +++ b/kernel/net/netfilter/ipset/ip_set_hash_gen.h @@ -1331,3 +1331,5 @@ IPSET_TOKEN(HTYPE, _create)(struct net *net, struct ip_set *set, return 0; } #endif /* IP_SET_EMIT_CREATE */ + +#undef HKEY_DATALEN diff --git a/kernel/net/netfilter/ipset/ip_set_hash_ip.c b/kernel/net/netfilter/ipset/ip_set_hash_ip.c index 48e2ee4..967b6e6 100644 --- a/kernel/net/netfilter/ipset/ip_set_hash_ip.c +++ b/kernel/net/netfilter/ipset/ip_set_hash_ip.c @@ -205,7 +205,6 @@ hash_ip6_data_next(struct hash_ip4_elem *next, const struct hash_ip6_elem *e) #undef MTYPE #undef HOST_MASK -#undef HKEY_DATALEN #define MTYPE hash_ip6 #define HOST_MASK 128 diff --git a/kernel/net/netfilter/ipset/ip_set_hash_ipmark.c b/kernel/net/netfilter/ipset/ip_set_hash_ipmark.c index 4f6fc0d..32fbb59 100644 --- a/kernel/net/netfilter/ipset/ip_set_hash_ipmark.c +++ b/kernel/net/netfilter/ipset/ip_set_hash_ipmark.c @@ -78,7 +78,6 @@ hash_ipmark4_data_next(struct hash_ipmark4_elem *next, #define MTYPE hash_ipmark4 #define HOST_MASK 32 -#define HKEY_DATALEN sizeof(struct hash_ipmark4_elem) #include "ip_set_hash_gen.h" static int @@ -201,11 +200,9 @@ hash_ipmark6_data_next(struct hash_ipmark4_elem *next, #undef MTYPE #undef HOST_MASK -#undef HKEY_DATALEN #define MTYPE hash_ipmark6 #define HOST_MASK 128 -#define HKEY_DATALEN sizeof(struct hash_ipmark6_elem) #define IP_SET_EMIT_CREATE #include "ip_set_hash_gen.h" diff --git a/kernel/net/netfilter/ipset/ip_set_hash_ipport.c b/kernel/net/netfilter/ipset/ip_set_hash_ipport.c index 19afae9..4311d2b 100644 --- a/kernel/net/netfilter/ipset/ip_set_hash_ipport.c +++ b/kernel/net/netfilter/ipset/ip_set_hash_ipport.c @@ -85,7 +85,6 @@ hash_ipport4_data_next(struct hash_ipport4_elem *next, #define MTYPE hash_ipport4 #define HOST_MASK 32 -#define HKEY_DATALEN sizeof(struct hash_ipport4_elem) #include "ip_set_hash_gen.h" static int @@ -240,11 +239,9 @@ hash_ipport6_data_next(struct hash_ipport4_elem *next, #undef MTYPE #undef HOST_MASK -#undef HKEY_DATALEN #define MTYPE hash_ipport6 #define HOST_MASK 128 -#define HKEY_DATALEN sizeof(struct hash_ipport6_elem) #define IP_SET_EMIT_CREATE #include "ip_set_hash_gen.h" diff --git a/kernel/net/netfilter/ipset/ip_set_hash_netiface.c b/kernel/net/netfilter/ipset/ip_set_hash_netiface.c index c9551f3..646c9f5 100644 --- a/kernel/net/netfilter/ipset/ip_set_hash_netiface.c +++ b/kernel/net/netfilter/ipset/ip_set_hash_netiface.c @@ -341,7 +341,6 @@ hash_netiface6_data_next(struct hash_netiface4_elem *next, #undef MTYPE #undef HOST_MASK -#undef HKEY_DATALEN #define MTYPE hash_netiface6 #define HOST_MASK 128 -- cgit v1.2.3