Hi Jason, Thank you for the patch! Yet something to improve: [auto build test ERROR on tegra-drm/drm/tegra/for-next] [cannot apply to drm-tip/drm-tip linus/master v5.19-rc1 next-20220608] [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/intel-lab-lkp/linux/commits/Jason-Ekstrand/dma-buf-Add-an-API-for-exporting-sync-files-v15/20220608-232447 base: git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next config: arc-randconfig-r043-20220608 (https://download.01.org/0day-ci/archive/20220609/202206090724.2BjpdEjC-lkp@xxxxxxxxx/config) compiler: arceb-elf-gcc (GCC) 11.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/d9d427e1ab310adae7e076f2531d00862d74a120 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Jason-Ekstrand/dma-buf-Add-an-API-for-exporting-sync-files-v15/20220608-232447 git checkout d9d427e1ab310adae7e076f2531d00862d74a120 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): drivers/dma-buf/dma-buf.c: In function 'dma_buf_export_sync_file': >> drivers/dma-buf/dma-buf.c:337:29: error: storage size of 'usage' isn't known 337 | enum dma_resv_usage usage; | ^~~~~ >> drivers/dma-buf/dma-buf.c:355:17: error: implicit declaration of function 'dma_resv_usage_rw' [-Werror=implicit-function-declaration] 355 | usage = dma_resv_usage_rw(arg.flags & DMA_BUF_SYNC_WRITE); | ^~~~~~~~~~~~~~~~~ >> drivers/dma-buf/dma-buf.c:356:15: error: implicit declaration of function 'dma_resv_get_singleton'; did you mean 'dma_resv_test_signaled'? [-Werror=implicit-function-declaration] 356 | ret = dma_resv_get_singleton(dmabuf->resv, usage, &fence); | ^~~~~~~~~~~~~~~~~~~~~~ | dma_resv_test_signaled drivers/dma-buf/dma-buf.c:337:29: warning: unused variable 'usage' [-Wunused-variable] 337 | enum dma_resv_usage usage; | ^~~~~ cc1: some warnings being treated as errors vim +337 drivers/dma-buf/dma-buf.c 331 332 #if IS_ENABLED(CONFIG_SYNC_FILE) 333 static long dma_buf_export_sync_file(struct dma_buf *dmabuf, 334 void __user *user_data) 335 { 336 struct dma_buf_export_sync_file arg; > 337 enum dma_resv_usage usage; 338 struct dma_fence *fence = NULL; 339 struct sync_file *sync_file; 340 int fd, ret; 341 342 if (copy_from_user(&arg, user_data, sizeof(arg))) 343 return -EFAULT; 344 345 if (arg.flags & ~DMA_BUF_SYNC_RW) 346 return -EINVAL; 347 348 if ((arg.flags & DMA_BUF_SYNC_RW) == 0) 349 return -EINVAL; 350 351 fd = get_unused_fd_flags(O_CLOEXEC); 352 if (fd < 0) 353 return fd; 354 > 355 usage = dma_resv_usage_rw(arg.flags & DMA_BUF_SYNC_WRITE); > 356 ret = dma_resv_get_singleton(dmabuf->resv, usage, &fence); 357 if (ret) 358 goto err_put_fd; 359 360 if (!fence) 361 fence = dma_fence_get_stub(); 362 363 sync_file = sync_file_create(fence); 364 365 dma_fence_put(fence); 366 367 if (!sync_file) { 368 ret = -ENOMEM; 369 goto err_put_fd; 370 } 371 372 arg.fd = fd; 373 if (copy_to_user(user_data, &arg, sizeof(arg))) { 374 ret = -EFAULT; 375 goto err_put_file; 376 } 377 378 fd_install(fd, sync_file->file); 379 380 return 0; 381 382 err_put_file: 383 fput(sync_file->file); 384 err_put_fd: 385 put_unused_fd(fd); 386 return ret; 387 } 388 #endif 389 -- 0-DAY CI Kernel Test Service https://01.org/lkp