Hi Sridhar,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net/master]
[also build test WARNING on v4.17-rc1]
[cannot apply to net-next/master next-20180420]
[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/Sridhar-Samudrala/Enable-virtio_net-to-act-as-a-standby-for-a-passthru-device/20180422-210557
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

>> net/core/failover.c:99:36: sparse: incorrect type in argument 1 (different 
>> address spaces) @@    expected struct net_device *dev @@    got struct 
>> net_devicestruct net_device *dev @@
   net/core/failover.c:99:36:    expected struct net_device *dev
   net/core/failover.c:99:36:    got struct net_device [noderef] 
<asn:4>*standby_dev
   net/core/failover.c:102:36: sparse: incorrect type in argument 1 (different 
address spaces) @@    expected struct net_device *dev @@    got struct 
net_devicestruct net_device *dev @@
   net/core/failover.c:102:36:    expected struct net_device *dev
   net/core/failover.c:102:36:    got struct net_device [noderef] 
<asn:4>*primary_dev
>> net/core/failover.c:468:12: sparse: context imbalance in 
>> 'failover_select_queue' - wrong count at exit

vim +99 net/core/failover.c

    58  
    59  static int failover_slave_join(struct net_device *slave_dev,
    60                                 struct net_device *failover_dev,
    61                                 struct failover_ops *failover_ops)
    62  {
    63          struct failover_info *finfo;
    64          int err, orig_mtu;
    65          bool standby;
    66  
    67          if (failover_ops) {
    68                  if (!failover_ops->slave_join)
    69                          return -EINVAL;
    70  
    71                  return failover_ops->slave_join(slave_dev, 
failover_dev);
    72          }
    73  
    74          if (netif_running(failover_dev)) {
    75                  err = dev_open(slave_dev);
    76                  if (err && (err != -EBUSY)) {
    77                          netdev_err(failover_dev, "Opening slave %s 
failed err:%d\n",
    78                                     slave_dev->name, err);
    79                          goto err_dev_open;
    80                  }
    81          }
    82  
    83          /* Align MTU of slave with failover dev */
    84          orig_mtu = slave_dev->mtu;
    85          err = dev_set_mtu(slave_dev, failover_dev->mtu);
    86          if (err) {
    87                  netdev_err(failover_dev, "unable to change mtu of %s to 
%u register failed\n",
    88                             slave_dev->name, failover_dev->mtu);
    89                  goto err_set_mtu;
    90          }
    91  
    92          finfo = netdev_priv(failover_dev);
    93          standby = (slave_dev->dev.parent == failover_dev->dev.parent);
    94  
    95          dev_hold(slave_dev);
    96  
    97          if (standby) {
    98                  rcu_assign_pointer(finfo->standby_dev, slave_dev);
  > 99                  dev_get_stats(finfo->standby_dev, 
&finfo->standby_stats);
   100          } else {
   101                  rcu_assign_pointer(finfo->primary_dev, slave_dev);
   102                  dev_get_stats(finfo->primary_dev, 
&finfo->primary_stats);
   103                  failover_dev->min_mtu = slave_dev->min_mtu;
   104                  failover_dev->max_mtu = slave_dev->max_mtu;
   105          }
   106  
   107          netdev_info(failover_dev, "failover slave:%s joined\n",
   108                      slave_dev->name);
   109  
   110          return 0;
   111  
   112  err_set_mtu:
   113          dev_close(slave_dev);
   114  err_dev_open:
   115          return err;
   116  }
   117  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to