[drm:drm-syncobj 2/8] drivers/dma-buf/sw_sync.c:318:37: sparse: not enough arguments for function sync_file_create

kbuild test robot fengguang.wu at intel.com
Tue Apr 4 02:01:06 UTC 2017


tree:   git://people.freedesktop.org/~airlied/linux.git drm-syncobj
head:   af9b558e5436d76fde927fd1f68cc35adec4d6ea
commit: e9069d711a815ca17b9bf687b935ae8383b4565e [2/8] sync_file: add type/flags to sync file object creation.
reproduce:
        # apt-get install sparse
        git checkout e9069d711a815ca17b9bf687b935ae8383b4565e
        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
>> drivers/dma-buf/sw_sync.c:318:37: sparse: not enough arguments for function sync_file_create
   drivers/dma-buf/sw_sync.c: In function 'sw_sync_ioctl_create_fence':
   drivers/dma-buf/sw_sync.c:318:14: error: too few arguments to function 'sync_file_create'
     sync_file = sync_file_create(&pt->base);
                 ^~~~~~~~~~~~~~~~
   In file included from drivers/dma-buf/sw_sync.c:21:0:
   include/linux/sync_file.h:56:19: note: declared here
    struct sync_file *sync_file_create(struct dma_fence *fence, uint32_t type, uint32_t flags);
                      ^~~~~~~~~~~~~~~~

vim +318 drivers/dma-buf/sw_sync.c

1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  302  	struct sw_sync_create_fence_data data;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  303  
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  304  	if (fd < 0)
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  305  		return fd;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  306  
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  307  	if (copy_from_user(&data, (void __user *)arg, sizeof(data))) {
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  308  		err = -EFAULT;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  309  		goto err;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  310  	}
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  311  
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  312  	pt = sync_pt_create(obj, sizeof(*pt), data.value);
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  313  	if (!pt) {
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  314  		err = -ENOMEM;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  315  		goto err;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  316  	}
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  317  
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31 @318  	sync_file = sync_file_create(&pt->base);
f54d1867 drivers/dma-buf/sw_sync.c         Chris Wilson    2016-10-25  319  	dma_fence_put(&pt->base);
4592bfcd drivers/dma-buf/sw_sync.c         Gustavo Padovan 2016-10-26  320  	if (!sync_file) {
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  321  		err = -ENOMEM;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  322  		goto err;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  323  	}
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  324  
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  325  	data.fence = fd;
1867a23b drivers/staging/android/sw_sync.c Gustavo Padovan 2016-05-31  326  	if (copy_to_user((void __user *)arg, &data, sizeof(data))) {

:::::: The code at line 318 was first introduced by commit
:::::: 1867a23b13b25d0a228b0509ade20fb977dcb601 staging/android: move sw_sync related code to sw_sync.c

:::::: TO: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
:::::: CC: Greg Kroah-Hartman <gregkh at linuxfoundation.org>

---
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