Commit 58cc06da authored by Sergey Popovich's avatar Sergey Popovich Committed by Pablo Neira Ayuso
Browse files

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: default avatarSergey Popovich <popovich_sergei@mail.ua>
Signed-off-by: default avatarJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 275e2bc0
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1166,3 +1166,5 @@ IPSET_TOKEN(HTYPE, _create)(struct net *net, struct ip_set *set,
	return 0;
}
#endif /* IP_SET_EMIT_CREATE */

#undef HKEY_DATALEN
+0 −1
Original line number Diff line number Diff line
@@ -211,7 +211,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
+0 −3
Original line number Diff line number Diff line
@@ -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
@@ -207,11 +206,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"

+0 −3
Original line number Diff line number Diff line
@@ -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
@@ -245,11 +244,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"

+0 −1
Original line number Diff line number Diff line
@@ -460,7 +460,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