tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 2102cb0d050d34d50b9642a3a50861787527e922 commit: cdf02fe1a94a768cbcd20f5c4e1a1d805f4a06c0 [6397/7105] drm/xe/oa/uapi: Add/remove OA config perf ops config: powerpc-randconfig-r111-20240620 (https://download.01.org/0day-ci/archive/20240620/202406200413.W16nHKXV-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce: (https://download.01.org/0day-ci/archive/20240620/202406200413.W16nHKXV-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202406200413.W16nHKXV-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/xe/xe_oa.c:388:25: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [usertype] *ptr @@ got void [noderef] __user * @@ drivers/gpu/drm/xe/xe_oa.c:388:25: sparse: expected unsigned long long [usertype] *ptr drivers/gpu/drm/xe/xe_oa.c:388:25: sparse: got void [noderef] __user * >> drivers/gpu/drm/xe/xe_oa.c:401:15: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned long long [noderef] __user *_gu_addr @@ got unsigned long long [usertype] *ptr @@ drivers/gpu/drm/xe/xe_oa.c:401:15: sparse: expected unsigned long long [noderef] __user *_gu_addr drivers/gpu/drm/xe/xe_oa.c:401:15: sparse: got unsigned long long [usertype] *ptr vim +388 drivers/gpu/drm/xe/xe_oa.c 377 378 /** 379 * xe_oa_remove_config_ioctl - Removes one OA config 380 * @dev: @drm_device 381 * @data: pointer to struct @drm_xe_perf_param 382 * @file: @drm_file 383 */ 384 int xe_oa_remove_config_ioctl(struct drm_device *dev, u64 data, struct drm_file *file) 385 { 386 struct xe_oa *oa = &to_xe_device(dev)->oa; 387 struct xe_oa_config *oa_config; > 388 u64 arg, *ptr = u64_to_user_ptr(data); 389 int ret; 390 391 if (!oa->xe) { 392 drm_dbg(&oa->xe->drm, "xe oa interface not available for this system\n"); 393 return -ENODEV; 394 } 395 396 if (xe_perf_stream_paranoid && !perfmon_capable()) { 397 drm_dbg(&oa->xe->drm, "Insufficient privileges to remove xe OA config\n"); 398 return -EACCES; 399 } 400 > 401 ret = get_user(arg, ptr); 402 if (XE_IOCTL_DBG(oa->xe, ret)) 403 return ret; 404 405 ret = mutex_lock_interruptible(&oa->metrics_lock); 406 if (ret) 407 return ret; 408 409 oa_config = idr_find(&oa->metrics_idr, arg); 410 if (!oa_config) { 411 drm_dbg(&oa->xe->drm, "Failed to remove unknown OA config\n"); 412 ret = -ENOENT; 413 goto err_unlock; 414 } 415 416 WARN_ON(arg != oa_config->id); 417 418 sysfs_remove_group(oa->metrics_kobj, &oa_config->sysfs_metric); 419 idr_remove(&oa->metrics_idr, arg); 420 421 mutex_unlock(&oa->metrics_lock); 422 423 drm_dbg(&oa->xe->drm, "Removed config %s id=%i\n", oa_config->uuid, oa_config->id); 424 425 xe_oa_config_put(oa_config); 426 427 return 0; 428 429 err_unlock: 430 mutex_unlock(&oa->metrics_lock); 431 return ret; 432 } 433 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki