Hi Martin,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on net-next/master]
[also build test ERROR on net/master linus/master sparc-next/master v5.10-rc4 
next-20201116]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Martin-Schiller/net-x25-add-remove-x25_link_device-by-NETDEV_REGISTER-UNREGISTER/20201116-153459
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 
0064c5c1b3bf2a695c772c90e8dea38426a870ff
config: x86_64-randconfig-a011-20201116 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 
c044709b8fbea2a9a375e4173a6bd735f6866c0c)
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 x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # 
https://github.com/0day-ci/linux/commit/2d44533245f7e8388db93c53c26703ac52650e57
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Martin-Schiller/net-x25-add-remove-x25_link_device-by-NETDEV_REGISTER-UNREGISTER/20201116-153459
        git checkout 2d44533245f7e8388db93c53c26703ac52650e57
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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/x25/af_x25.c:1709:30: error: assigning to 'struct compat_x25_facilities' 
>> from incompatible type 'struct x25_facilities'
                   x25_subscr.facilities        = nb->facilities;
                                                ^ ~~~~~~~~~~~~~~
>> net/x25/af_x25.c:1761:24: error: assigning to 'struct x25_facilities' from 
>> incompatible type 'struct compat_x25_facilities'
                   nb->facilities        = x25_subscr.facilities;
                                         ^ ~~~~~~~~~~~~~~~~~~~~~
   2 errors generated.

vim +1709 net/x25/af_x25.c

  1678  
  1679  #ifdef CONFIG_COMPAT
  1680  static int compat_x25_subscr_ioctl(unsigned int cmd,
  1681                  struct compat_x25_subscrip_struct __user *x25_subscr32)
  1682  {
  1683          struct compat_x25_subscrip_struct x25_subscr;
  1684          struct x25_neigh *nb;
  1685          struct net_device *dev;
  1686          int rc = -EINVAL;
  1687  
  1688          if (cmd != SIOCX25GSUBSCRIP && cmd != SIOCX25SSUBSCRIP)
  1689                  goto out;
  1690  
  1691          rc = -EFAULT;
  1692          if (copy_from_user(&x25_subscr, x25_subscr32, 
sizeof(*x25_subscr32)))
  1693                  goto out;
  1694  
  1695          rc = -EINVAL;
  1696          dev = x25_dev_get(x25_subscr.device);
  1697          if (dev == NULL)
  1698                  goto out;
  1699  
  1700          nb = x25_get_neigh(dev);
  1701          if (nb == NULL)
  1702                  goto out_dev_put;
  1703  
  1704          if (cmd == SIOCX25GSUBSCRIP) {
  1705                  read_lock_bh(&x25_neigh_list_lock);
  1706                  x25_subscr.extended = nb->extended;
  1707                  x25_subscr.dce               = nb->dce;
  1708                  x25_subscr.lc                = nb->lc;
> 1709                  x25_subscr.facilities        = nb->facilities;
  1710                  x25_subscr.t20               = nb->t20;
  1711                  x25_subscr.global_facil_mask = nb->global_facil_mask;
  1712                  read_unlock_bh(&x25_neigh_list_lock);
  1713                  rc = copy_to_user(x25_subscr32, &x25_subscr,
  1714                                  sizeof(*x25_subscr32)) ? -EFAULT : 0;
  1715          } else {
  1716                  rc = -EINVAL;
  1717  
  1718                  if (dev->flags & IFF_UP)
  1719                          return -EBUSY;
  1720  
  1721                  if (x25_subscr.extended != 0 && x25_subscr.extended != 
1)
  1722                          goto out_dev_and_neigh_put;
  1723                  if (x25_subscr.dce != 0 && x25_subscr.dce != 1)
  1724                          goto out_dev_and_neigh_put;
  1725                  if (x25_subscr.lc < 1 || x25_subscr.lc > 4095)
  1726                          goto out_dev_and_neigh_put;
  1727                  if (x25_subscr.facilities.pacsize_in < X25_PS16 ||
  1728                      x25_subscr.facilities.pacsize_in > X25_PS4096)
  1729                          goto out_dev_and_neigh_put;
  1730                  if (x25_subscr.facilities.pacsize_out < X25_PS16 ||
  1731                      x25_subscr.facilities.pacsize_out > X25_PS4096)
  1732                          goto out_dev_and_neigh_put;
  1733                  if (x25_subscr.facilities.winsize_in < 1 ||
  1734                      x25_subscr.facilities.winsize_in > 127)
  1735                          goto out_dev_and_neigh_put;
  1736                  if (x25_subscr.facilities.throughput) {
  1737                          int out = x25_subscr.facilities.throughput & 
0xf0;
  1738                          int in  = x25_subscr.facilities.throughput & 
0x0f;
  1739                          if (!out)
  1740                                  x25_subscr.facilities.throughput |=
  1741                                          X25_DEFAULT_THROUGHPUT << 4;
  1742                          else if (out < 0x30 || out > 0xD0)
  1743                                  goto out_dev_and_neigh_put;
  1744                          if (!in)
  1745                                  x25_subscr.facilities.throughput |=
  1746                                          X25_DEFAULT_THROUGHPUT;
  1747                          else if (in < 0x03 || in > 0x0D)
  1748                                  goto out_dev_and_neigh_put;
  1749                  }
  1750                  if (x25_subscr.facilities.reverse &&
  1751                      (x25_subscr.facilities.reverse & 0x81) != 0x81)
  1752                          goto out_dev_and_neigh_put;
  1753                  if (x25_subscr.t20 < 1 * HZ || x25_subscr.t20 > 300 * 
HZ)
  1754                          goto out_dev_and_neigh_put;
  1755  
  1756                  rc = 0;
  1757                  write_lock_bh(&x25_neigh_list_lock);
  1758                  nb->extended          = x25_subscr.extended;
  1759                  nb->dce               = x25_subscr.dce;
  1760                  nb->lc                = x25_subscr.lc;
> 1761                  nb->facilities        = x25_subscr.facilities;
  1762                  nb->t20               = x25_subscr.t20;
  1763                  nb->global_facil_mask = x25_subscr.global_facil_mask;
  1764                  write_unlock_bh(&x25_neigh_list_lock);
  1765          }
  1766          dev_put(dev);
  1767  
  1768          x25_neigh_put(nb);
  1769  out:
  1770          return rc;
  1771  out_dev_and_neigh_put:
  1772          x25_neigh_put(nb);
  1773  out_dev_put:
  1774          dev_put(dev);
  1775          goto out;
  1776  }
  1777  

---
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