[PATCH v3 17/19] drm/xe/uapi: Add UAPI for querying VMA count and memory attributes
kernel test robot
lkp at intel.com
Fri May 30 01:11:49 UTC 2025
Hi Himal,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-xe/drm-xe-next]
[also build test WARNING on next-20250529]
[cannot apply to linus/master v6.15]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Himal-Prasad-Ghimiray/Introduce-drm_gpuvm_sm_map_ops_flags-enums-for-sm_map_ops/20250528-041919
base: https://gitlab.freedesktop.org/drm/xe/kernel.git drm-xe-next
patch link: https://lore.kernel.org/r/20250527164003.1068118-18-himal.prasad.ghimiray%40intel.com
patch subject: [PATCH v3 17/19] drm/xe/uapi: Add UAPI for querying VMA count and memory attributes
config: loongarch-randconfig-r073-20250529 (https://download.01.org/0day-ci/archive/20250530/202505300820.fmdHkQH6-lkp@intel.com/config)
compiler: loongarch64-linux-gcc (GCC) 15.1.0
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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505300820.fmdHkQH6-lkp@intel.com/
New smatch warnings:
drivers/gpu/drm/xe/xe_vm.c:2213 xe_vm_query_vmas_attrs_ioctl() warn: unsigned 'args->num_vmas' is never less than zero.
drivers/gpu/drm/xe/xe_vm.c:2249 xe_vm_query_vmas_attrs_ioctl() warn: maybe return -EFAULT instead of the bytes remaining?
Old smatch warnings:
drivers/gpu/drm/xe/xe_vm.c:2583 new_vma() error: we previously assumed 'bo' could be null (see line 2557)
drivers/gpu/drm/xe/xe_vm.c:2595 new_vma() error: 'vma' dereferencing possible ERR_PTR()
drivers/gpu/drm/xe/xe_vm.c:3033 prefetch_ranges() warn: iterator 'i' not incremented
drivers/gpu/drm/xe/xe_vm.c:4035 xe_vm_range_tilemask_tlb_invalidation() error: uninitialized symbol 'err'.
arch/loongarch/include/asm/atomic.h:135 arch_atomic_fetch_add_unless() warn: inconsistent indenting
drivers/gpu/drm/xe/xe_vm.c:4241 xe_vm_snapshot_print() warn: passing zero to 'PTR_ERR'
drivers/gpu/drm/xe/xe_vm.c:4402 xe_vm_alloc_madvise_vma() warn: variable dereferenced before check 'ops' (see line 4341)
vim +2213 drivers/gpu/drm/xe/xe_vm.c
2202
2203 int xe_vm_query_vmas_attrs_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
2204 {
2205 struct xe_device *xe = to_xe_device(dev);
2206 struct xe_file *xef = to_xe_file(file);
2207 struct drm_xe_vma_mem_attr *mem_attrs;
2208 struct drm_xe_vm_query_vmas_attr *args = data;
2209 u64 __user *attrs_user = NULL;
2210 struct xe_vm *vm;
2211 int err = 0;
2212
> 2213 if (XE_IOCTL_DBG(xe, args->num_vmas < 0))
2214 return -EINVAL;
2215
2216 vm = xe_vm_lookup(xef, args->vm_id);
2217 if (XE_IOCTL_DBG(xe, !vm))
2218 return -EINVAL;
2219
2220 down_read(&vm->lock);
2221
2222 attrs_user = u64_to_user_ptr(args->vector_of_vma_mem_attr);
2223
2224 if (args->num_vmas == 0 && !attrs_user) {
2225 xe_vm_query_vmas(vm, &args->num_vmas, args->start, args->start + args->range);
2226 goto unlock_vm;
2227 }
2228
2229 mem_attrs = kvmalloc_array(args->num_vmas, sizeof(struct drm_xe_vma_mem_attr),
2230 GFP_KERNEL | __GFP_ACCOUNT |
2231 __GFP_RETRY_MAYFAIL | __GFP_NOWARN);
2232 if (!mem_attrs) {
2233 err = args->num_vmas > 1 ? -ENOBUFS : -ENOMEM;
2234 goto unlock_vm;
2235 }
2236
2237 err = get_mem_attrs(vm, &args->num_vmas, args->start,
2238 args->start + args->range, mem_attrs);
2239 if (err)
2240 goto free_mem_attrs;
2241
2242 err = __copy_to_user(attrs_user, mem_attrs,
2243 sizeof(struct drm_xe_vma_mem_attr) * args->num_vmas);
2244
2245 free_mem_attrs:
2246 kvfree(mem_attrs);
2247 unlock_vm:
2248 up_read(&vm->lock);
> 2249 return err;
2250 }
2251
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
More information about the Intel-xe
mailing list