Re: [PATCH] ipv6: Not to probe neighbourless routes

From: kbuild test robot
Date: Thu Aug 29 2019 - 18:20:50 EST


Hi Yi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.3-rc6 next-20190829]
[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/Yi-Wang/ipv6-Not-to-probe-neighbourless-routes/20190830-025439
config: x86_64-rhel (attached as .config)
compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

net/ipv6/route.c: In function 'rt6_probe':
>> net/ipv6/route.c:660:10: error: 'struct fib6_nh' has no member named 'last_probe'
fib6_nh->last_probe = jiffies;
^~

vim +660 net/ipv6/route.c

c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 619
cc3a86c802f0ba David Ahern 2019-04-09 620 static void rt6_probe(struct fib6_nh *fib6_nh)
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 621 {
f547fac624be53 Sabrina Dubroca 2018-10-12 622 struct __rt6_probe_work *work = NULL;
5e670d844b2a4e David Ahern 2018-04-17 623 const struct in6_addr *nh_gw;
f2c31e32b378a6 Eric Dumazet 2011-07-29 624 struct neighbour *neigh;
5e670d844b2a4e David Ahern 2018-04-17 625 struct net_device *dev;
f547fac624be53 Sabrina Dubroca 2018-10-12 626 struct inet6_dev *idev;
5e670d844b2a4e David Ahern 2018-04-17 627
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 628 /*
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 629 * Okay, this does not seem to be appropriate
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 630 * for now, however, we need to check if it
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 631 * is really so; aka Router Reachability Probing.
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 632 *
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 633 * Router Reachability Probe MUST be rate-limited
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 634 * to no more than one per minute.
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 635 */
cc3a86c802f0ba David Ahern 2019-04-09 636 if (fib6_nh->fib_nh_gw_family)
7ff74a596b6aa4 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 637 return;
5e670d844b2a4e David Ahern 2018-04-17 638
cc3a86c802f0ba David Ahern 2019-04-09 639 nh_gw = &fib6_nh->fib_nh_gw6;
cc3a86c802f0ba David Ahern 2019-04-09 640 dev = fib6_nh->fib_nh_dev;
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 641 rcu_read_lock_bh();
5e670d844b2a4e David Ahern 2018-04-17 642 neigh = __ipv6_neigh_lookup_noref(dev, nh_gw);
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 643 if (neigh) {
8d6c31bf574177 Martin KaFai Lau 2015-07-24 644 if (neigh->nud_state & NUD_VALID)
8d6c31bf574177 Martin KaFai Lau 2015-07-24 645 goto out;
8d6c31bf574177 Martin KaFai Lau 2015-07-24 646
e3f0c73ec3f208 Cheng Lin 2019-08-27 647 idev = __in6_dev_get(dev);
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 648 write_lock(&neigh->lock);
990edb428c2c85 Martin KaFai Lau 2015-07-24 649 if (!(neigh->nud_state & NUD_VALID) &&
990edb428c2c85 Martin KaFai Lau 2015-07-24 650 time_after(jiffies,
dcd1f572954f9d David Ahern 2018-04-18 651 neigh->updated + idev->cnf.rtr_probe_interval)) {
c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 652 work = kmalloc(sizeof(*work), GFP_ATOMIC);
990edb428c2c85 Martin KaFai Lau 2015-07-24 653 if (work)
7e980569642811 Jiri Benc 2013-12-11 654 __neigh_set_probe_once(neigh);
990edb428c2c85 Martin KaFai Lau 2015-07-24 655 }
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 656 write_unlock(&neigh->lock);
990edb428c2c85 Martin KaFai Lau 2015-07-24 657 }
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 658
c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 659 if (work) {
cc3a86c802f0ba David Ahern 2019-04-09 @660 fib6_nh->last_probe = jiffies;
c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 661 INIT_WORK(&work->work, rt6_probe_deferred);
5e670d844b2a4e David Ahern 2018-04-17 662 work->target = *nh_gw;
5e670d844b2a4e David Ahern 2018-04-17 663 dev_hold(dev);
5e670d844b2a4e David Ahern 2018-04-17 664 work->dev = dev;
c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 665 schedule_work(&work->work);
c2f17e827b4199 Hannes Frederic Sowa 2013-10-21 666 }
990edb428c2c85 Martin KaFai Lau 2015-07-24 667
8d6c31bf574177 Martin KaFai Lau 2015-07-24 668 out:
2152caea719657 YOSHIFUJI Hideaki / 吉藤英明 2013-01-17 669 rcu_read_unlock_bh();
f2c31e32b378a6 Eric Dumazet 2011-07-29 670 }
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 671 #else
cc3a86c802f0ba David Ahern 2019-04-09 672 static inline void rt6_probe(struct fib6_nh *fib6_nh)
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 673 {
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 674 }
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 675 #endif
270972554c91ac YOSHIFUJI Hideaki 2006-03-20 676

:::::: The code at line 660 was first introduced by commit
:::::: cc3a86c802f0ba9a2627aef256d95ae3b3fa6e91 ipv6: Change rt6_probe to take a fib6_nh

:::::: TO: David Ahern <dsahern@xxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip