Hi Heng,

kernel test robot noticed the following build errors:

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

url:    
https://github.com/intel-lab-lkp/linux/commits/Heng-Qi/virtio-net-fix-possible-dim-status-unrecoverable/20240116-211306
base:   net-next/main
patch link:    
https://lore.kernel.org/r/1705410693-118895-4-git-send-email-hengqi%40linux.alibaba.com
patch subject: [PATCH net-next 3/3] virtio-net: reduce the CPU consumption of 
dim worker
config: i386-buildonly-randconfig-004-20240119 
(https://download.01.org/0day-ci/archive/20240119/202401192156.zunujmua-...@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240119/202401192156.zunujmua-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202401192156.zunujmua-...@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/virtio_net.c: In function 'virtnet_add_dim_command':
>> drivers/net/virtio_net.c:3590:48: error: invalid application of 'sizeof' to 
>> incomplete type 'struct virtnet_coal_entry'
    3590 |                     ctrl->num_entries * sizeof(struct 
virtnet_coal_entry));
         |                                                ^~~~~~
   drivers/net/virtio_net.c: In function 'virtnet_rx_dim_work':
   drivers/net/virtio_net.c:3658:62: error: invalid application of 'sizeof' to 
incomplete type 'struct virtnet_coal_entry'
    3658 |                                 vi->max_queue_pairs * sizeof(struct 
virtnet_coal_entry));
         |                                                              ^~~~~~
   drivers/net/virtio_net.c: In function 'virtnet_alloc_queues':
   drivers/net/virtio_net.c:4544:52: error: invalid application of 'sizeof' to 
incomplete type 'struct virtnet_coal_entry'
    4544 |                       vi->max_queue_pairs * sizeof(struct 
virtnet_coal_entry)), GFP_KERNEL);
         |                                                    ^~~~~~
   drivers/net/virtio_net.c:4551:62: error: invalid application of 'sizeof' to 
incomplete type 'struct virtnet_coal_entry'
    4551 |                                 vi->max_queue_pairs * sizeof(struct 
virtnet_coal_entry));
         |                                                              ^~~~~~


vim +3590 drivers/net/virtio_net.c

  3570  
  3571  static bool virtnet_add_dim_command(struct virtnet_info *vi,
  3572                                      struct virtnet_batch_coal *ctrl)
  3573  {
  3574          struct scatterlist *sgs[4], hdr, stat, out;
  3575          unsigned out_num = 0;
  3576          int ret;
  3577  
  3578          /* Caller should know better */
  3579          BUG_ON(!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ));
  3580  
  3581          ctrl->hdr.class = VIRTIO_NET_CTRL_NOTF_COAL;
  3582          ctrl->hdr.cmd = VIRTIO_NET_CTRL_NOTF_COAL_VQS_SET;
  3583  
  3584          /* Add header */
  3585          sg_init_one(&hdr, &ctrl->hdr, sizeof(ctrl->hdr));
  3586          sgs[out_num++] = &hdr;
  3587  
  3588          /* Add body */
  3589          sg_init_one(&out, &ctrl->num_entries, sizeof(ctrl->num_entries) 
+
> 3590                      ctrl->num_entries * sizeof(struct 
> virtnet_coal_entry));
  3591          sgs[out_num++] = &out;
  3592  
  3593          /* Add return status. */
  3594          ctrl->status = VIRTIO_NET_OK;
  3595          sg_init_one(&stat, &ctrl->status, sizeof(ctrl->status));
  3596          sgs[out_num] = &stat;
  3597  
  3598          BUG_ON(out_num + 1 > ARRAY_SIZE(sgs));
  3599          ret = virtqueue_add_sgs(vi->cvq, sgs, out_num, 1, ctrl, 
GFP_ATOMIC);
  3600          if (ret < 0) {
  3601                  dev_warn(&vi->vdev->dev, "Failed to add sgs for command 
vq: %d\n.", ret);
  3602                  return false;
  3603          }
  3604  
  3605          virtqueue_kick(vi->cvq);
  3606  
  3607          ctrl->usable = false;
  3608          vi->cvq_cmd_nums++;
  3609  
  3610          return true;
  3611  }
  3612  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to