Hi Stephen,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    
https://github.com/0day-ci/linux/commits/Stephen-Hemminger/ipv6-report-errors-for-iftoken-via-netlink-extack/20210407-074055
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
cc0626c2aaed8e475efdd85fa374b497a7192e35
config: arm64-randconfig-r012-20210406 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 
c060945b23a1c54d4b2a053ff4b093a2277b303d)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # 
https://github.com/0day-ci/linux/commit/a956d0358f015f0aaac67cb9279199dce74cda56
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Stephen-Hemminger/ipv6-report-errors-for-iftoken-via-netlink-extack/20210407-074055
        git checkout a956d0358f015f0aaac67cb9279199dce74cda56
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

>> net/ipv6/addrconf.c:5707:55: error: expected ';' after do/while statement
                                  "Router solicitation is disabled on device"));
                                                                              ^
                                                                              ;
   1 error generated.


vim +5707 net/ipv6/addrconf.c

  5674  
  5675  static int inet6_set_iftoken(struct inet6_dev *idev, struct in6_addr 
*token,
  5676                               struct netlink_ext_ack *extack)
  5677  {
  5678          struct inet6_ifaddr *ifp;
  5679          struct net_device *dev = idev->dev;
  5680          bool clear_token, update_rs = false;
  5681          struct in6_addr ll_addr;
  5682  
  5683          ASSERT_RTNL();
  5684  
  5685          if (!token)
  5686                  return -EINVAL;
  5687  
  5688          if (dev->flags & IFF_LOOPBACK) {
  5689                  NL_SET_ERR_MSG_MOD(extack, "Device is loopback");
  5690                  return -EINVAL;
  5691          }
  5692  
  5693          if (dev->flags & IFF_NOARP) {
  5694                  NL_SET_ERR_MSG_MOD(extack,
  5695                                     "Device does not do neighbour 
discovery");
  5696                  return -EINVAL;
  5697          }
  5698  
  5699          if (!ipv6_accept_ra(idev)) {
  5700                  NL_SET_ERR_MSG_MOD(extack,
  5701                                     "Router advertisement is disabled on 
device");
  5702                  return -EINVAL;
  5703          }
  5704  
  5705          if (idev->cnf.rtr_solicits == 0) {
  5706                  NL_SET_ERR_MSG(extack,
> 5707                                 "Router solicitation is disabled on 
> device"));
  5708                  return -EINVAL;
  5709          }
  5710  
  5711          write_lock_bh(&idev->lock);
  5712  
  5713          BUILD_BUG_ON(sizeof(token->s6_addr) != 16);
  5714          memcpy(idev->token.s6_addr + 8, token->s6_addr + 8, 8);
  5715  
  5716          write_unlock_bh(&idev->lock);
  5717  
  5718          clear_token = ipv6_addr_any(token);
  5719          if (clear_token)
  5720                  goto update_lft;
  5721  
  5722          if (!idev->dead && (idev->if_flags & IF_READY) &&
  5723              !ipv6_get_lladdr(dev, &ll_addr, IFA_F_TENTATIVE |
  5724                               IFA_F_OPTIMISTIC)) {
  5725                  /* If we're not ready, then normal ifup will take care
  5726                   * of this. Otherwise, we need to request our rs here.
  5727                   */
  5728                  ndisc_send_rs(dev, &ll_addr, 
&in6addr_linklocal_allrouters);
  5729                  update_rs = true;
  5730          }
  5731  
  5732  update_lft:
  5733          write_lock_bh(&idev->lock);
  5734  
  5735          if (update_rs) {
  5736                  idev->if_flags |= IF_RS_SENT;
  5737                  idev->rs_interval = rfc3315_s14_backoff_init(
  5738                          idev->cnf.rtr_solicit_interval);
  5739                  idev->rs_probes = 1;
  5740                  addrconf_mod_rs_timer(idev, idev->rs_interval);
  5741          }
  5742  
  5743          /* Well, that's kinda nasty ... */
  5744          list_for_each_entry(ifp, &idev->addr_list, if_list) {
  5745                  spin_lock(&ifp->lock);
  5746                  if (ifp->tokenized) {
  5747                          ifp->valid_lft = 0;
  5748                          ifp->prefered_lft = 0;
  5749                  }
  5750                  spin_unlock(&ifp->lock);
  5751          }
  5752  
  5753          write_unlock_bh(&idev->lock);
  5754          inet6_ifinfo_notify(RTM_NEWLINK, idev);
  5755          addrconf_verify_rtnl();
  5756          return 0;
  5757  }
  5758  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to