Re: [PATCH 2/3] virtio: cache indirect desc for packed
From: kernel test robot <hidden>
Date: 2021-10-28 03:51:23
Also in:
netdev, oe-kbuild-all
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 <redacted> 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
quoted
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-all@lists.01.org Attachments
- .config.gz [application/gzip] 37885 bytes
- (unnamed) [text/plain] 183 bytes · preview