Hi Xuan,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on horms-ipvs/master]
[also build test WARNING on linus/master v5.15-rc7]
[cannot apply to mst-vhost/linux-next next-20211027]
[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/Xuan-Zhuo/virtio-support-cache-indirect-desc/20211027-142025
base:   https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master
config: i386-randconfig-s002-20211027 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # 
https://github.com/0day-ci/linux/commit/bb65ceda850ed4592d8a940e01926d5e3d33ae92
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Xuan-Zhuo/virtio-support-cache-indirect-desc/20211027-142025
        git checkout bb65ceda850ed4592d8a940e01926d5e3d33ae92
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir 
ARCH=i386 SHELL=/bin/bash drivers/virtio/

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


sparse warnings: (new ones prefixed by >>)
   drivers/virtio/virtio_ring.c:438:26: sparse: sparse: cast from restricted 
__virtio64
   drivers/virtio/virtio_ring.c:447:28: sparse: sparse: incorrect type in 
assignment (different base types) @@     expected restricted __virtio64 
[usertype] addr @@     got unsigned long long [usertype] @@
   drivers/virtio/virtio_ring.c:447:28: sparse:     expected restricted 
__virtio64 [usertype] addr
   drivers/virtio/virtio_ring.c:447:28: sparse:     got unsigned long long 
[usertype]
   drivers/virtio/virtio_ring.c:464:49: sparse: sparse: cast from restricted 
__virtio64
>> drivers/virtio/virtio_ring.c:1083:26: sparse: sparse: cast from restricted 
>> __le64
>> drivers/virtio/virtio_ring.c:1092:28: sparse: sparse: incorrect type in 
>> assignment (different base types) @@     expected restricted __le64 
>> [usertype] addr @@     got unsigned long long [usertype] @@
   drivers/virtio/virtio_ring.c:1092:28: sparse:     expected restricted __le64 
[usertype] addr
   drivers/virtio/virtio_ring.c:1092:28: sparse:     got unsigned long long 
[usertype]
   drivers/virtio/virtio_ring.c:1109:49: sparse: sparse: cast from restricted 
__le64

vim +1083 drivers/virtio/virtio_ring.c

  1076  
  1077  static void desc_cache_chain_free_packed(void *chain)
  1078  {
  1079          struct vring_packed_desc *desc;
  1080  
  1081          while (chain) {
  1082                  desc = chain;
> 1083                  chain = (void *)desc->addr;
  1084                  kfree(desc);
  1085          }
  1086  }
  1087  
  1088  static void desc_cache_put_packed(struct vring_virtqueue *vq,
  1089                                    struct vring_packed_desc *desc, int n)
  1090  {
  1091          if (vq->use_desc_cache && n <= VIRT_QUEUE_CACHE_DESC_NUM) {
> 1092                  desc->addr = (u64)vq->desc_cache_chain;
  1093                  vq->desc_cache_chain = desc;
  1094          } else {
  1095                  kfree(desc);
  1096          }
  1097  }
  1098  

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

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to