[drm:drm-syncobj 5/8] drivers/dma-buf/sync_file.c:236:19: sparse: incompatible types in comparison expression (different address spaces)

kbuild test robot fengguang.wu at intel.com
Wed Apr 12 12:54:25 UTC 2017


tree:   git://people.freedesktop.org/~airlied/linux.git drm-syncobj
head:   58ec426a9ee099705987657cfad202b5bd96e363
commit: d9029ccba2bd5d542d384335f3d6e761bd1b3bee [5/8] sync_file: add support for a semaphore object (v2)
reproduce:
        # apt-get install sparse
        git checkout d9029ccba2bd5d542d384335f3d6e761bd1b3bee
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__


sparse warnings: (new ones prefixed by >>)

   include/linux/compiler.h:264:8: sparse: attribute 'no_sanitize_address': unknown attribute
   include/linux/dma-fence.h:248:25: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:266:30: sparse: incompatible types in comparison expression (different address spaces)
>> drivers/dma-buf/sync_file.c:236:19: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:248:25: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:266:30: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:248:25: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:266:30: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:248:25: sparse: incompatible types in comparison expression (different address spaces)
   include/linux/dma-fence.h:266:30: sparse: incompatible types in comparison expression (different address spaces)

vim +236 drivers/dma-buf/sync_file.c

   220	/**
   221	 * sync_file_replace_fence - replace the fence related to the sync_file
   222	 * @sync_file:	 sync file to replace fence in
   223	 * @fence: fence to replace with (or NULL for no fence).
   224	 * Returns previous fence.
   225	 */
   226	int sync_file_replace_fence(struct sync_file *sync_file,
   227				    struct dma_fence *fence,
   228				    struct dma_fence **old_fence)
   229	{
   230		struct dma_fence *ret_fence = NULL;
   231	
   232		/* don't allow replace on fence sync files */
   233		if (sync_file->type != SYNC_FILE_TYPE_SEMAPHORE)
   234			return -EINVAL;
   235	
 > 236		if (fence == sync_file->fence)
   237			return -EINVAL;
   238	
   239		if (fence)
   240			dma_fence_get(fence);
   241	
   242		mutex_lock(&sync_file->lock);
   243	
   244		ret_fence = sync_file_get_fence_locked(sync_file);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


More information about the dri-devel mailing list