[radeon-alex:drm-next 41/491] drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse: sparse: incorrect type in argument 1 (different address spaces)

kernel test robot lkp at intel.com
Wed Jun 24 01:40:17 UTC 2020


tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next
head:   fadef51a438279ca660dbce31c26e787d6680149
commit: 32cb59f3136248c40062f6fe3edfba13c516b30c [41/491] drm/amdkfd: Track SDMA utilization per process
config: x86_64-randconfig-s021-20200623 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-dirty
        git checkout 32cb59f3136248c40062f6fe3edfba13c516b30c
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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


sparse warnings: (new ones prefixed by >>)

   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:140:6: sparse: sparse: symbol 'increment_queue_count' was not declared. Should it be static?
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:148:6: sparse: sparse: symbol 'decrement_queue_count' was not declared. Should it be static?
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:1> * @@     got unsigned long long [usertype] * @@
>> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse:     expected void const volatile [noderef] <asn:1> *
   drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c:172:15: sparse:     got unsigned long long [usertype] *

vim +172 drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_device_queue_manager.c

   155	
   156	int read_sdma_queue_counter(struct queue *q, uint64_t *val)
   157	{
   158		int ret;
   159		uint64_t tmp = 0;
   160	
   161		if (!q || !val)
   162			return -EINVAL;
   163		/*
   164		 * SDMA activity counter is stored at queue's RPTR + 0x8 location.
   165		 */
   166		if (!access_ok((const void __user *)((uint64_t)q->properties.read_ptr +
   167						sizeof(uint64_t)), sizeof(uint64_t))) {
   168			pr_err("Can't access sdma queue activity counter\n");
   169			return -EFAULT;
   170		}
   171	
 > 172		ret = get_user(tmp, (uint64_t *)((uint64_t)(q->properties.read_ptr) +
   173							    sizeof(uint64_t)));
   174		if (!ret) {
   175			*val = tmp;
   176		}
   177	
   178		return ret;
   179	}
   180	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 30831 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200624/5accde86/attachment-0001.gz>


More information about the dri-devel mailing list