tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
pending-4.19
head: da0ab6f9b4814a4a16e1999273d7dbd1a348314b
commit: ee315934ec9b10a653ca97ca4669ef2ed5a15006 [31/61] netfilter: nft_fib_ipv6: skip
ipv6 packets from any to link-local
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-4.19
git checkout ee315934ec9b10a653ca97ca4669ef2ed5a15006
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
net/ipv6/netfilter/nft_fib_ipv6.c: In function 'nft_fib6_eval':
> net/ipv6/netfilter/nft_fib_ipv6.c:187:23: error:
'NF_INET_INGRESS' undeclared (first use in this function); did you mean
'NF_NETDEV_INGRESS'?
187 | nft_hook(pkt) == NF_INET_INGRESS) {
| ^~~~~~~~~~~~~~~
| NF_NETDEV_INGRESS
net/ipv6/netfilter/nft_fib_ipv6.c:187:23: note: each undeclared identifier is reported
only once for each function it appears in
vim +187 net/ipv6/netfilter/nft_fib_ipv6.c
157
158 void nft_fib6_eval(const struct nft_expr *expr, struct nft_regs *regs,
159 const struct nft_pktinfo *pkt)
160 {
161 const struct nft_fib *priv = nft_expr_priv(expr);
162 int noff = skb_network_offset(pkt->skb);
163 const struct net_device *oif = NULL;
164 u32 *dest = ®s->data[priv->dreg];
165 struct ipv6hdr *iph, _iph;
166 struct flowi6 fl6 = {
167 .flowi6_iif = LOOPBACK_IFINDEX,
168 .flowi6_proto = pkt->tprot,
169 };
170 struct rt6_info *rt;
171 int lookup_flags;
172
173 if (priv->flags & NFTA_FIB_F_IIF)
174 oif = nft_in(pkt);
175 else if (priv->flags & NFTA_FIB_F_OIF)
176 oif = nft_out(pkt);
177
178 iph = skb_header_pointer(pkt->skb, noff, sizeof(_iph), &_iph);
179 if (!iph) {
180 regs->verdict.code = NFT_BREAK;
181 return;
182 }
183
184 lookup_flags = nft_fib6_flowi_init(&fl6, priv, pkt, oif, iph);
185
186 if (nft_hook(pkt) == NF_INET_PRE_ROUTING ||
187 nft_hook(pkt) == NF_INET_INGRESS) {
188 if
(nft_fib_is_loopback(pkt->skb, nft_in(pkt)) ||
189 nft_fib_v6_skip_icmpv6(pkt->skb, pkt->tprot, iph)) {
190 nft_fib_store_result(dest, priv, nft_in(pkt));
191 return;
192 }
193 }
194
195 *dest = 0;
196 rt = (void *)ip6_route_lookup(nft_net(pkt), &fl6, pkt->skb,
197 lookup_flags);
198 if (rt->dst.error)
199 goto put_rt_err;
200
201 /* Should not see RTF_LOCAL here */
202 if (rt->rt6i_flags & (RTF_REJECT | RTF_ANYCAST | RTF_LOCAL))
203 goto put_rt_err;
204
205 if (oif && oif != rt->rt6i_idev->dev)
206 goto put_rt_err;
207
208 nft_fib_store_result(dest, priv, rt->rt6i_idev->dev);
209 put_rt_err:
210 ip6_rt_put(rt);
211 }
212 EXPORT_SYMBOL_GPL(nft_fib6_eval);
213
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org