Re: [PATCH V1 1/5] vfio: maintain dma_list order

kernel test robot
2021-01-05T18:50:20Z

[-- Attachment #1: Type: text/plain, Size: 2705 bytes --]

Hi Steve,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on vfio/next]
[also build test WARNING on v5.11-rc2 next-20210104]
[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/Steve-Sistare/vfio-virtual-address-update/20210106-000752
base: https://github.com/awilliam/linux-vfio.git next
config: x86_64-randconfig-s022-20210105 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
# https://github.com/0day-ci/linux/commit/c7f4454de15f02ea6be7591e8ab4520e21da646e
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Steve-Sistare/vfio-virtual-address-update/20210106-000752
git checkout c7f4454de15f02ea6be7591e8ab4520e21da646e
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64

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

"sparse warnings: (new ones prefixed by >>)"
>> drivers/vfio/vfio_iommu_type1.c:160:32: sparse: sparse: Using plain integer as NULL pointer
drivers/vfio/vfio_iommu_type1.c:176:23: sparse: sparse: Using plain integer as NULL pointer

vim +160 drivers/vfio/vfio_iommu_type1.c

147
148 static struct vfio_group *vfio_iommu_find_iommu_group(struct vfio_iommu *iommu,
149 struct iommu_group *iommu_group);
150
151 static void update_pinned_page_dirty_scope(struct vfio_iommu *iommu);
152 /*
153 * This code handles mapping and unmapping of user data buffers
154 * into DMA'ble space using the IOMMU
155 */
156
157 static struct vfio_dma *vfio_find_dma(struct vfio_iommu *iommu,
158 dma_addr_t start, size_t size)
159 {
> 160 struct vfio_dma *res = 0;
161 struct rb_node *node = iommu->dma_list.rb_node;
162
163 while (node) {
164 struct vfio_dma *dma = rb_entry(node, struct vfio_dma, node);
165
166 if (start < dma->iova + dma->size) {
167 res = dma;
168 if (start >= dma->iova)
169 break;
170 node = node->rb_left;
171 } else {
172 node = node->rb_right;
173 }
174 }
175 if (res && size && res->iova >= start + size)
176 res = 0;
177 return res;
178 }
179

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37517 bytes --]