summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorKyle Zeng <zengyhkyle@gmail.com>2023-09-06 00:04:09 +0200
committerFlorian Westphal <fw@strlen.de>2023-09-06 18:09:12 +0200
commit050d91c03b28ca479df13dfb02bcd2c60dd6a878 (patch)
tree63bd4a8adb4e199e0cd5ab761b5558ec65e91daa /net
parentnetfilter: nft_set_rbtree: skip sync GC for new elements in this transaction (diff)
downloadlinux-050d91c03b28ca479df13dfb02bcd2c60dd6a878.tar.xz
linux-050d91c03b28ca479df13dfb02bcd2c60dd6a878.zip
netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
The missing IP_SET_HASH_WITH_NET0 macro in ip_set_hash_netportnet can lead to the use of wrong `CIDR_POS(c)` for calculating array offsets, which can lead to integer underflow. As a result, it leads to slab out-of-bound access. This patch adds back the IP_SET_HASH_WITH_NET0 macro to ip_set_hash_netportnet to address the issue. Fixes: 886503f34d63 ("netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net") Suggested-by: Jozsef Kadlecsik <kadlec@netfilter.org> Signed-off-by: Kyle Zeng <zengyhkyle@gmail.com> Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/ipset/ip_set_hash_netportnet.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/netfilter/ipset/ip_set_hash_netportnet.c b/net/netfilter/ipset/ip_set_hash_netportnet.c
index 005a7ce87217..bf4f91b78e1d 100644
--- a/net/netfilter/ipset/ip_set_hash_netportnet.c
+++ b/net/netfilter/ipset/ip_set_hash_netportnet.c
@@ -36,6 +36,7 @@ MODULE_ALIAS("ip_set_hash:net,port,net");
#define IP_SET_HASH_WITH_PROTO
#define IP_SET_HASH_WITH_NETS
#define IPSET_NET_COUNT 2
+#define IP_SET_HASH_WITH_NET0
/* IPv4 variant */