1 From 050d91c03b28ca479df13dfb02bcd2c60dd6a878 Mon Sep 17 00:00:00 2001
2 From: Kyle Zeng <zengyhkyle@gmail.com>
3 Date: Tue, 5 Sep 2023 15:04:09 -0700
4 Subject: netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
6 From: Kyle Zeng <zengyhkyle@gmail.com>
8 commit 050d91c03b28ca479df13dfb02bcd2c60dd6a878 upstream.
10 The missing IP_SET_HASH_WITH_NET0 macro in ip_set_hash_netportnet can
11 lead to the use of wrong `CIDR_POS(c)` for calculating array offsets,
12 which can lead to integer underflow. As a result, it leads to slab
14 This patch adds back the IP_SET_HASH_WITH_NET0 macro to
15 ip_set_hash_netportnet to address the issue.
17 Fixes: 886503f34d63 ("netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net")
18 Suggested-by: Jozsef Kadlecsik <kadlec@netfilter.org>
19 Signed-off-by: Kyle Zeng <zengyhkyle@gmail.com>
20 Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org>
21 Signed-off-by: Florian Westphal <fw@strlen.de>
22 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24 net/netfilter/ipset/ip_set_hash_netportnet.c | 1 +
25 1 file changed, 1 insertion(+)
27 --- a/net/netfilter/ipset/ip_set_hash_netportnet.c
28 +++ b/net/netfilter/ipset/ip_set_hash_netportnet.c
29 @@ -35,6 +35,7 @@ MODULE_ALIAS("ip_set_hash:net,port,net")
30 #define IP_SET_HASH_WITH_PROTO
31 #define IP_SET_HASH_WITH_NETS
32 #define IPSET_NET_COUNT 2
33 +#define IP_SET_HASH_WITH_NET0