From: kbuild test robot <lkp@intel.com>
To: Josh Hunt <johunt@akamai.com>
Cc: kbuild-all@01.org, kadlec@blackhole.kfki.hu, pablo@netfilter.org,
netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
Josh Hunt <johunt@akamai.com>
Subject: Re: [PATCH 2/4] netfilter: ipset: generalize netmask to support cidr and mask values
Date: Fri, 24 Mar 2017 18:58:33 +0800 [thread overview]
Message-ID: <201703241826.K3KZ0cez%fengguang.wu@intel.com> (raw)
In-Reply-To: <1490120944-1770-3-git-send-email-johunt@akamai.com>
[-- Attachment #1: Type: text/plain, Size: 20564 bytes --]
Hi Josh,
[auto build test ERROR on nf-next/master]
[also build test ERROR on v4.11-rc3 next-20170324]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Josh-Hunt/netfilter-ipset-Extend-netmask-support-for-kernel/20170324-170517
base: https://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next.git master
config: x86_64-rhel (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
Note: the linux-review/Josh-Hunt/netfilter-ipset-Extend-netmask-support-for-kernel/20170324-170517 HEAD 1311d08039e3713214109b1d179d4aab64c4ceed builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
net/netfilter/ipset/ip_set_hash_ip.c: In function 'hash_ip4_kadt':
>> net/netfilter/ipset/ip_set_hash_ip.c:92:23: error: incompatible type for argument 1 of 'ip_set_netmask'
ip &= ip_set_netmask(h->netmask);
^
In file included from net/netfilter/ipset/ip_set_hash_ip.c:22:0:
include/linux/netfilter/ipset/pfxlen.h:13:1: note: expected 'u8 {aka unsigned char}' but argument is of type 'const struct ipset_netmask'
ip_set_netmask(u8 pfxlen)
^~~~~~~~~~~~~~
net/netfilter/ipset/ip_set_hash_ip.c: In function 'hash_ip4_uadt':
>> net/netfilter/ipset/ip_set_hash_ip.c:125:24: error: incompatible type for argument 1 of 'ip_set_hostmask'
ip &= ip_set_hostmask(h->netmask);
^
In file included from net/netfilter/ipset/ip_set_hash_ip.c:22:0:
include/linux/netfilter/ipset/pfxlen.h:25:1: note: expected 'u8 {aka unsigned char}' but argument is of type 'const struct ipset_netmask'
ip_set_hostmask(u8 pfxlen)
^~~~~~~~~~~~~~~
>> net/netfilter/ipset/ip_set_hash_ip.c:149:21: error: invalid operands to binary == (have 'const struct ipset_netmask' and 'int')
hosts = h->netmask == 32 ? 1 : 2 << (32 - h->netmask - 1);
~~~~~~~~~~ ^~
>> net/netfilter/ipset/ip_set_hash_ip.c:149:42: error: invalid operands to binary - (have 'int' and 'const struct ipset_netmask')
hosts = h->netmask == 32 ? 1 : 2 << (32 - h->netmask - 1);
^ ~~~~~~~~~~
net/netfilter/ipset/ip_set_hash_ip.c: In function 'hash_ip6_kadt':
>> net/netfilter/ipset/ip_set_hash_ip.c:226:26: error: incompatible type for argument 2 of 'hash_ip6_netmask'
hash_ip6_netmask(&e.ip, h->netmask);
^
net/netfilter/ipset/ip_set_hash_ip.c:185:1: note: expected 'u8 {aka unsigned char}' but argument is of type 'const struct ipset_netmask'
hash_ip6_netmask(union nf_inet_addr *ip, u8 prefix)
^~~~~~~~~~~~~~~~
net/netfilter/ipset/ip_set_hash_ip.c: In function 'hash_ip6_uadt':
net/netfilter/ipset/ip_set_hash_ip.c:265:26: error: incompatible type for argument 2 of 'hash_ip6_netmask'
hash_ip6_netmask(&e.ip, h->netmask);
^
net/netfilter/ipset/ip_set_hash_ip.c:185:1: note: expected 'u8 {aka unsigned char}' but argument is of type 'const struct ipset_netmask'
hash_ip6_netmask(union nf_inet_addr *ip, u8 prefix)
^~~~~~~~~~~~~~~~
vim +149 net/netfilter/ipset/ip_set_hash_ip.c
6c0278896 Jozsef Kadlecsik 2011-02-01 16 #include <net/ip.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 17 #include <net/ipv6.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 18 #include <net/netlink.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 19 #include <net/tcp.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 20
6c0278896 Jozsef Kadlecsik 2011-02-01 21 #include <linux/netfilter.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 @22 #include <linux/netfilter/ipset/pfxlen.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 23 #include <linux/netfilter/ipset/ip_set.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 24 #include <linux/netfilter/ipset/ip_set_hash.h>
6c0278896 Jozsef Kadlecsik 2011-02-01 25
35b8dcf8c Jozsef Kadlecsik 2013-04-30 26 #define IPSET_TYPE_REV_MIN 0
fda75c6d9 Oliver Smith 2013-09-22 27 /* 1 Counters support */
07cf8f5ae Josh Hunt 2014-02-28 28 /* 2 Comments support */
af331419d Anton Danilov 2014-08-28 29 /* 3 Forceadd support */
af331419d Anton Danilov 2014-08-28 30 #define IPSET_TYPE_REV_MAX 4 /* skbinfo support */
10111a6ef Jozsef Kadlecsik 2012-09-21 31
6c0278896 Jozsef Kadlecsik 2011-02-01 32 MODULE_LICENSE("GPL");
6c0278896 Jozsef Kadlecsik 2011-02-01 33 MODULE_AUTHOR("Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>");
35b8dcf8c Jozsef Kadlecsik 2013-04-30 34 IP_SET_MODULE_DESC("hash:ip", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX);
6c0278896 Jozsef Kadlecsik 2011-02-01 35 MODULE_ALIAS("ip_set_hash:ip");
6c0278896 Jozsef Kadlecsik 2011-02-01 36
6c0278896 Jozsef Kadlecsik 2011-02-01 37 /* Type specific function prefix */
5d50e1d88 Jozsef Kadlecsik 2013-04-08 38 #define HTYPE hash_ip
5d50e1d88 Jozsef Kadlecsik 2013-04-08 39 #define IP_SET_HASH_WITH_NETMASK
6c0278896 Jozsef Kadlecsik 2011-02-01 40
03c8b234e Jozsef Kadlecsik 2013-09-07 41 /* IPv4 variant */
6c0278896 Jozsef Kadlecsik 2011-02-01 42
5d50e1d88 Jozsef Kadlecsik 2013-04-08 43 /* Member elements */
6c0278896 Jozsef Kadlecsik 2011-02-01 44 struct hash_ip4_elem {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 45 /* Zero valued IP addresses cannot be stored */
6c0278896 Jozsef Kadlecsik 2011-02-01 46 __be32 ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 47 };
6c0278896 Jozsef Kadlecsik 2011-02-01 48
5d50e1d88 Jozsef Kadlecsik 2013-04-08 49 /* Common functions */
6c0278896 Jozsef Kadlecsik 2011-02-01 50
6c0278896 Jozsef Kadlecsik 2011-02-01 51 static inline bool
5d50e1d88 Jozsef Kadlecsik 2013-04-08 52 hash_ip4_data_equal(const struct hash_ip4_elem *e1,
5d50e1d88 Jozsef Kadlecsik 2013-04-08 53 const struct hash_ip4_elem *e2,
5d50e1d88 Jozsef Kadlecsik 2013-04-08 54 u32 *multi)
6c0278896 Jozsef Kadlecsik 2011-02-01 55 {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 56 return e1->ip == e2->ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 57 }
6c0278896 Jozsef Kadlecsik 2011-02-01 58
728a7e690 Sergey Popovich 2015-05-02 59 static bool
5d50e1d88 Jozsef Kadlecsik 2013-04-08 60 hash_ip4_data_list(struct sk_buff *skb, const struct hash_ip4_elem *e)
6c0278896 Jozsef Kadlecsik 2011-02-01 61 {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 62 if (nla_put_ipaddr4(skb, IPSET_ATTR_IP, e->ip))
7cf7899d9 David S. Miller 2012-04-01 63 goto nla_put_failure;
728a7e690 Sergey Popovich 2015-05-02 64 return false;
6c0278896 Jozsef Kadlecsik 2011-02-01 65
6c0278896 Jozsef Kadlecsik 2011-02-01 66 nla_put_failure:
728a7e690 Sergey Popovich 2015-05-02 67 return true;
6c0278896 Jozsef Kadlecsik 2011-02-01 68 }
6c0278896 Jozsef Kadlecsik 2011-02-01 69
5d50e1d88 Jozsef Kadlecsik 2013-04-08 70 static inline void
5d50e1d88 Jozsef Kadlecsik 2013-04-08 71 hash_ip4_data_next(struct hash_ip4_elem *next, const struct hash_ip4_elem *e)
6c0278896 Jozsef Kadlecsik 2011-02-01 72 {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 73 next->ip = e->ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 74 }
6c0278896 Jozsef Kadlecsik 2011-02-01 75
5d50e1d88 Jozsef Kadlecsik 2013-04-08 76 #define MTYPE hash_ip4
6c0278896 Jozsef Kadlecsik 2011-02-01 77 #define HOST_MASK 32
5d50e1d88 Jozsef Kadlecsik 2013-04-08 78 #include "ip_set_hash_gen.h"
3d14b171f Jozsef Kadlecsik 2011-06-16 79
6c0278896 Jozsef Kadlecsik 2011-02-01 80 static int
6c0278896 Jozsef Kadlecsik 2011-02-01 81 hash_ip4_kadt(struct ip_set *set, const struct sk_buff *skb,
b66554cf0 Jozsef Kadlecsik 2011-06-16 82 const struct xt_action_param *par,
5d50e1d88 Jozsef Kadlecsik 2013-04-08 83 enum ipset_adt adt, struct ip_set_adt_opt *opt)
6c0278896 Jozsef Kadlecsik 2011-02-01 84 {
21956ab29 Jozsef Kadlecsik 2015-06-26 85 const struct hash_ip4 *h = set->data;
6c0278896 Jozsef Kadlecsik 2011-02-01 86 ipset_adtfn adtfn = set->variant->adt[adt];
94729f8a1 Mark Rustad 2014-08-05 87 struct hash_ip4_elem e = { 0 };
ca134ce86 Jozsef Kadlecsik 2013-09-07 88 struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
6c0278896 Jozsef Kadlecsik 2011-02-01 89 __be32 ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 90
ac8cc925d Jozsef Kadlecsik 2011-06-16 91 ip4addrptr(skb, opt->flags & IPSET_DIM_ONE_SRC, &ip);
6c0278896 Jozsef Kadlecsik 2011-02-01 @92 ip &= ip_set_netmask(h->netmask);
6c0278896 Jozsef Kadlecsik 2011-02-01 93 if (ip == 0)
6c0278896 Jozsef Kadlecsik 2011-02-01 94 return -EINVAL;
6c0278896 Jozsef Kadlecsik 2011-02-01 95
5d50e1d88 Jozsef Kadlecsik 2013-04-08 96 e.ip = ip;
5d50e1d88 Jozsef Kadlecsik 2013-04-08 97 return adtfn(set, &e, &ext, &opt->ext, opt->cmdflags);
6c0278896 Jozsef Kadlecsik 2011-02-01 98 }
6c0278896 Jozsef Kadlecsik 2011-02-01 99
6c0278896 Jozsef Kadlecsik 2011-02-01 100 static int
6c0278896 Jozsef Kadlecsik 2011-02-01 101 hash_ip4_uadt(struct ip_set *set, struct nlattr *tb[],
3d14b171f Jozsef Kadlecsik 2011-06-16 102 enum ipset_adt adt, u32 *lineno, u32 flags, bool retried)
6c0278896 Jozsef Kadlecsik 2011-02-01 103 {
21956ab29 Jozsef Kadlecsik 2015-06-26 104 const struct hash_ip4 *h = set->data;
6c0278896 Jozsef Kadlecsik 2011-02-01 105 ipset_adtfn adtfn = set->variant->adt[adt];
94729f8a1 Mark Rustad 2014-08-05 106 struct hash_ip4_elem e = { 0 };
ca134ce86 Jozsef Kadlecsik 2013-09-07 107 struct ip_set_ext ext = IP_SET_INIT_UEXT(set);
20b2fab48 Jozsef Kadlecsik 2013-05-01 108 u32 ip = 0, ip_to = 0, hosts;
6c0278896 Jozsef Kadlecsik 2011-02-01 109 int ret = 0;
6c0278896 Jozsef Kadlecsik 2011-02-01 110
6c0278896 Jozsef Kadlecsik 2011-02-01 111 if (tb[IPSET_ATTR_LINENO])
6c0278896 Jozsef Kadlecsik 2011-02-01 112 *lineno = nla_get_u32(tb[IPSET_ATTR_LINENO]);
6c0278896 Jozsef Kadlecsik 2011-02-01 113
a212e08e8 Sergey Popovich 2015-06-12 114 if (unlikely(!tb[IPSET_ATTR_IP]))
a212e08e8 Sergey Popovich 2015-06-12 115 return -IPSET_ERR_PROTOCOL;
a212e08e8 Sergey Popovich 2015-06-12 116
8e55d2e59 Sergey Popovich 2015-05-02 117 ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP], &ip);
8e55d2e59 Sergey Popovich 2015-05-02 118 if (ret)
8e55d2e59 Sergey Popovich 2015-05-02 119 return ret;
8e55d2e59 Sergey Popovich 2015-05-02 120
8e55d2e59 Sergey Popovich 2015-05-02 121 ret = ip_set_get_extensions(set, tb, &ext);
6c0278896 Jozsef Kadlecsik 2011-02-01 122 if (ret)
6c0278896 Jozsef Kadlecsik 2011-02-01 123 return ret;
6c0278896 Jozsef Kadlecsik 2011-02-01 124
6c0278896 Jozsef Kadlecsik 2011-02-01 @125 ip &= ip_set_hostmask(h->netmask);
6c0278896 Jozsef Kadlecsik 2011-02-01 126
6c0278896 Jozsef Kadlecsik 2011-02-01 127 if (adt == IPSET_TEST) {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 128 e.ip = htonl(ip);
5d50e1d88 Jozsef Kadlecsik 2013-04-08 129 if (e.ip == 0)
6c0278896 Jozsef Kadlecsik 2011-02-01 130 return -IPSET_ERR_HASH_ELEM;
5d50e1d88 Jozsef Kadlecsik 2013-04-08 131 return adtfn(set, &e, &ext, &ext, flags);
6c0278896 Jozsef Kadlecsik 2011-02-01 132 }
6c0278896 Jozsef Kadlecsik 2011-02-01 133
4fe198e6b Jozsef Kadlecsik 2012-11-19 134 ip_to = ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 135 if (tb[IPSET_ATTR_IP_TO]) {
6c0278896 Jozsef Kadlecsik 2011-02-01 136 ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP_TO], &ip_to);
6c0278896 Jozsef Kadlecsik 2011-02-01 137 if (ret)
6c0278896 Jozsef Kadlecsik 2011-02-01 138 return ret;
6c0278896 Jozsef Kadlecsik 2011-02-01 139 if (ip > ip_to)
6c0278896 Jozsef Kadlecsik 2011-02-01 140 swap(ip, ip_to);
6c0278896 Jozsef Kadlecsik 2011-02-01 141 } else if (tb[IPSET_ATTR_CIDR]) {
6c0278896 Jozsef Kadlecsik 2011-02-01 142 u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
6c0278896 Jozsef Kadlecsik 2011-02-01 143
cabfd139a Sergey Popovich 2015-05-02 144 if (!cidr || cidr > HOST_MASK)
6c0278896 Jozsef Kadlecsik 2011-02-01 145 return -IPSET_ERR_INVALID_CIDR;
e6146e868 Jozsef Kadlecsik 2011-06-16 146 ip_set_mask_from_to(ip, ip_to, cidr);
4fe198e6b Jozsef Kadlecsik 2012-11-19 147 }
6c0278896 Jozsef Kadlecsik 2011-02-01 148
6c0278896 Jozsef Kadlecsik 2011-02-01 @149 hosts = h->netmask == 32 ? 1 : 2 << (32 - h->netmask - 1);
6c0278896 Jozsef Kadlecsik 2011-02-01 150
3d14b171f Jozsef Kadlecsik 2011-06-16 151 if (retried)
6e27c9b4e Jozsef Kadlecsik 2012-09-21 152 ip = ntohl(h->next.ip);
6c0278896 Jozsef Kadlecsik 2011-02-01 153 for (; !before(ip_to, ip); ip += hosts) {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 154 e.ip = htonl(ip);
5d50e1d88 Jozsef Kadlecsik 2013-04-08 155 if (e.ip == 0)
6c0278896 Jozsef Kadlecsik 2011-02-01 156 return -IPSET_ERR_HASH_ELEM;
5d50e1d88 Jozsef Kadlecsik 2013-04-08 157 ret = adtfn(set, &e, &ext, &ext, flags);
6c0278896 Jozsef Kadlecsik 2011-02-01 158
6c0278896 Jozsef Kadlecsik 2011-02-01 159 if (ret && !ip_set_eexist(ret, flags))
6c0278896 Jozsef Kadlecsik 2011-02-01 160 return ret;
ca0f6a5cd Jozsef Kadlecsik 2015-06-13 161
6c0278896 Jozsef Kadlecsik 2011-02-01 162 ret = 0;
6c0278896 Jozsef Kadlecsik 2011-02-01 163 }
6c0278896 Jozsef Kadlecsik 2011-02-01 164 return ret;
6c0278896 Jozsef Kadlecsik 2011-02-01 165 }
6c0278896 Jozsef Kadlecsik 2011-02-01 166
03c8b234e Jozsef Kadlecsik 2013-09-07 167 /* IPv6 variant */
6c0278896 Jozsef Kadlecsik 2011-02-01 168
5d50e1d88 Jozsef Kadlecsik 2013-04-08 169 /* Member elements */
6c0278896 Jozsef Kadlecsik 2011-02-01 170 struct hash_ip6_elem {
6c0278896 Jozsef Kadlecsik 2011-02-01 171 union nf_inet_addr ip;
6c0278896 Jozsef Kadlecsik 2011-02-01 172 };
6c0278896 Jozsef Kadlecsik 2011-02-01 173
5d50e1d88 Jozsef Kadlecsik 2013-04-08 174 /* Common functions */
5d50e1d88 Jozsef Kadlecsik 2013-04-08 175
6c0278896 Jozsef Kadlecsik 2011-02-01 176 static inline bool
6c0278896 Jozsef Kadlecsik 2011-02-01 177 hash_ip6_data_equal(const struct hash_ip6_elem *ip1,
89dc79b78 Jozsef Kadlecsik 2011-07-21 178 const struct hash_ip6_elem *ip2,
89dc79b78 Jozsef Kadlecsik 2011-07-21 179 u32 *multi)
6c0278896 Jozsef Kadlecsik 2011-02-01 180 {
29e3b1608 YOSHIFUJI Hideaki / 吉藤英明 2013-01-29 181 return ipv6_addr_equal(&ip1->ip.in6, &ip2->ip.in6);
6c0278896 Jozsef Kadlecsik 2011-02-01 182 }
6c0278896 Jozsef Kadlecsik 2011-02-01 183
6c0278896 Jozsef Kadlecsik 2011-02-01 184 static inline void
5d50e1d88 Jozsef Kadlecsik 2013-04-08 185 hash_ip6_netmask(union nf_inet_addr *ip, u8 prefix)
6c0278896 Jozsef Kadlecsik 2011-02-01 186 {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 187 ip6_netmask(ip, prefix);
6c0278896 Jozsef Kadlecsik 2011-02-01 188 }
6c0278896 Jozsef Kadlecsik 2011-02-01 189
6c0278896 Jozsef Kadlecsik 2011-02-01 190 static bool
5d50e1d88 Jozsef Kadlecsik 2013-04-08 191 hash_ip6_data_list(struct sk_buff *skb, const struct hash_ip6_elem *e)
6c0278896 Jozsef Kadlecsik 2011-02-01 192 {
5d50e1d88 Jozsef Kadlecsik 2013-04-08 193 if (nla_put_ipaddr6(skb, IPSET_ATTR_IP, &e->ip.in6))
7cf7899d9 David S. Miller 2012-04-01 194 goto nla_put_failure;
728a7e690 Sergey Popovich 2015-05-02 195 return false;
6c0278896 Jozsef Kadlecsik 2011-02-01 196
6c0278896 Jozsef Kadlecsik 2011-02-01 197 nla_put_failure:
728a7e690 Sergey Popovich 2015-05-02 198 return true;
6c0278896 Jozsef Kadlecsik 2011-02-01 199 }
6c0278896 Jozsef Kadlecsik 2011-02-01 200
5d50e1d88 Jozsef Kadlecsik 2013-04-08 201 static inline void
21956ab29 Jozsef Kadlecsik 2015-06-26 202 hash_ip6_data_next(struct hash_ip6_elem *next, const struct hash_ip6_elem *e)
6c0278896 Jozsef Kadlecsik 2011-02-01 203 {
6c0278896 Jozsef Kadlecsik 2011-02-01 204 }
6c0278896 Jozsef Kadlecsik 2011-02-01 205
5d50e1d88 Jozsef Kadlecsik 2013-04-08 206 #undef MTYPE
6c0278896 Jozsef Kadlecsik 2011-02-01 207 #undef HOST_MASK
6c0278896 Jozsef Kadlecsik 2011-02-01 208
5d50e1d88 Jozsef Kadlecsik 2013-04-08 209 #define MTYPE hash_ip6
6c0278896 Jozsef Kadlecsik 2011-02-01 210 #define HOST_MASK 128
6c0278896 Jozsef Kadlecsik 2011-02-01 211
5d50e1d88 Jozsef Kadlecsik 2013-04-08 212 #define IP_SET_EMIT_CREATE
5d50e1d88 Jozsef Kadlecsik 2013-04-08 213 #include "ip_set_hash_gen.h"
3d14b171f Jozsef Kadlecsik 2011-06-16 214
6c0278896 Jozsef Kadlecsik 2011-02-01 215 static int
6c0278896 Jozsef Kadlecsik 2011-02-01 216 hash_ip6_kadt(struct ip_set *set, const struct sk_buff *skb,
b66554cf0 Jozsef Kadlecsik 2011-06-16 217 const struct xt_action_param *par,
5d50e1d88 Jozsef Kadlecsik 2013-04-08 218 enum ipset_adt adt, struct ip_set_adt_opt *opt)
6c0278896 Jozsef Kadlecsik 2011-02-01 219 {
21956ab29 Jozsef Kadlecsik 2015-06-26 220 const struct hash_ip6 *h = set->data;
6c0278896 Jozsef Kadlecsik 2011-02-01 221 ipset_adtfn adtfn = set->variant->adt[adt];
94729f8a1 Mark Rustad 2014-08-05 222 struct hash_ip6_elem e = { { .all = { 0 } } };
ca134ce86 Jozsef Kadlecsik 2013-09-07 223 struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
6c0278896 Jozsef Kadlecsik 2011-02-01 224
5d50e1d88 Jozsef Kadlecsik 2013-04-08 225 ip6addrptr(skb, opt->flags & IPSET_DIM_ONE_SRC, &e.ip.in6);
5d50e1d88 Jozsef Kadlecsik 2013-04-08 @226 hash_ip6_netmask(&e.ip, h->netmask);
5d50e1d88 Jozsef Kadlecsik 2013-04-08 227 if (ipv6_addr_any(&e.ip.in6))
6c0278896 Jozsef Kadlecsik 2011-02-01 228 return -EINVAL;
6c0278896 Jozsef Kadlecsik 2011-02-01 229
:::::: The code at line 149 was first introduced by commit
:::::: 6c027889696a7a694b0e2f6e3cabadefec7553b6 netfilter: ipset: hash:ip set type support
:::::: TO: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
:::::: CC: Patrick McHardy <kaber@trash.net>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 38874 bytes --]
next prev parent reply other threads:[~2017-03-24 10:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-21 18:29 [PATCH 0/4] netfilter: ipset: Extend netmask support for kernel Josh Hunt
2017-03-21 18:29 ` [PATCH 1/4] net: netfilter: add nf_inet_addr_mask_inplace helper fn Josh Hunt
2017-03-21 18:29 ` [PATCH 2/4] netfilter: ipset: generalize netmask to support cidr and mask values Josh Hunt
2017-03-24 10:58 ` kbuild test robot [this message]
2017-03-27 19:21 ` Jozsef Kadlecsik
2017-03-28 12:35 ` Josh Hunt
2017-03-28 18:28 ` Jozsef Kadlecsik
2017-03-28 20:01 ` Josh Hunt
2017-03-28 20:54 ` Jozsef Kadlecsik
2017-03-21 18:29 ` [PATCH 3/4] netfilter: ipset: hash:ip: add support for new netmask types Josh Hunt
2017-03-27 19:35 ` Jozsef Kadlecsik
2017-03-21 18:29 ` [PATCH 4/4] netfilter: ipset: hash:ipport: add netmask support Josh Hunt
2017-03-27 19:50 ` Jozsef Kadlecsik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201703241826.K3KZ0cez%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=coreteam@netfilter.org \
--cc=johunt@akamai.com \
--cc=kadlec@blackhole.kfki.hu \
--cc=kbuild-all@01.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.