From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>,
intel-xe@lists.freedesktop.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Subject: Re: [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter
Date: Mon, 2 Jun 2025 09:19:15 +0300 [thread overview]
Message-ID: <202505300251.vkfxetWu-lkp@intel.com> (raw)
In-Reply-To: <20250527164003.1068118-6-himal.prasad.ghimiray@intel.com>
Hi Himal,
kernel test robot noticed the following build warnings:
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-6-himal.prasad.ghimiray%40intel.com
patch subject: [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter
config: loongarch-randconfig-r073-20250529 (https://download.01.org/0day-ci/archive/20250530/202505300251.vkfxetWu-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@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202505300251.vkfxetWu-lkp@intel.com/
New smatch warnings:
drivers/gpu/drm/xe/xe_vm.c:2492 new_vma() error: 'vma' dereferencing possible ERR_PTR()
vim +/vma +2492 drivers/gpu/drm/xe/xe_vm.c
b06d47be7c83165 Matthew Brost 2023-07-07 2444 static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2445 struct xe_vma_mem_attr attr, unsigned int flags)
b06d47be7c83165 Matthew Brost 2023-07-07 2446 {
b06d47be7c83165 Matthew Brost 2023-07-07 2447 struct xe_bo *bo = op->gem.obj ? gem_to_xe_bo(op->gem.obj) : NULL;
24f947d58fe554c Thomas Hellström 2023-12-12 2448 struct drm_exec exec;
b06d47be7c83165 Matthew Brost 2023-07-07 2449 struct xe_vma *vma;
33991ae8f40a824 Matthew Brost 2024-06-17 2450 int err = 0;
b06d47be7c83165 Matthew Brost 2023-07-07 2451
b06d47be7c83165 Matthew Brost 2023-07-07 2452 lockdep_assert_held_write(&vm->lock);
b06d47be7c83165 Matthew Brost 2023-07-07 2453
b06d47be7c83165 Matthew Brost 2023-07-07 2454 if (bo) {
d2197029026021e Dave Airlie 2023-12-22 2455 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0);
24f947d58fe554c Thomas Hellström 2023-12-12 2456 drm_exec_until_all_locked(&exec) {
24f947d58fe554c Thomas Hellström 2023-12-12 2457 err = 0;
24f947d58fe554c Thomas Hellström 2023-12-12 2458 if (!bo->vm) {
24f947d58fe554c Thomas Hellström 2023-12-12 2459 err = drm_exec_lock_obj(&exec, xe_vm_obj(vm));
24f947d58fe554c Thomas Hellström 2023-12-12 2460 drm_exec_retry_on_contention(&exec);
24f947d58fe554c Thomas Hellström 2023-12-12 2461 }
24f947d58fe554c Thomas Hellström 2023-12-12 2462 if (!err) {
24f947d58fe554c Thomas Hellström 2023-12-12 2463 err = drm_exec_lock_obj(&exec, &bo->ttm.base);
24f947d58fe554c Thomas Hellström 2023-12-12 2464 drm_exec_retry_on_contention(&exec);
24f947d58fe554c Thomas Hellström 2023-12-12 2465 }
24f947d58fe554c Thomas Hellström 2023-12-12 2466 if (err) {
24f947d58fe554c Thomas Hellström 2023-12-12 2467 drm_exec_fini(&exec);
b06d47be7c83165 Matthew Brost 2023-07-07 2468 return ERR_PTR(err);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2469 }
24f947d58fe554c Thomas Hellström 2023-12-12 2470 }
24f947d58fe554c Thomas Hellström 2023-12-12 2471 }
b06d47be7c83165 Matthew Brost 2023-07-07 2472 vma = xe_vma_create(vm, bo, op->gem.offset,
b06d47be7c83165 Matthew Brost 2023-07-07 2473 op->va.addr, op->va.addr +
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2474 op->va.range - 1, attr.pat_index, flags);
33991ae8f40a824 Matthew Brost 2024-06-17 2475 if (IS_ERR(vma))
33991ae8f40a824 Matthew Brost 2024-06-17 2476 goto err_unlock;
Missing "err = PTR_ERR(vma);"
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2477
33991ae8f40a824 Matthew Brost 2024-06-17 2478 if (xe_vma_is_userptr(vma))
5bd24e78829ad56 Thomas Hellström 2024-01-31 2479 err = xe_vma_userptr_pin_pages(to_userptr_vma(vma));
33991ae8f40a824 Matthew Brost 2024-06-17 2480 else if (!xe_vma_has_no_bo(vma) && !bo->vm)
b06d47be7c83165 Matthew Brost 2023-07-07 2481 err = add_preempt_fences(vm, bo);
33991ae8f40a824 Matthew Brost 2024-06-17 2482
33991ae8f40a824 Matthew Brost 2024-06-17 2483 err_unlock:
33991ae8f40a824 Matthew Brost 2024-06-17 2484 if (bo)
33991ae8f40a824 Matthew Brost 2024-06-17 2485 drm_exec_fini(&exec);
33991ae8f40a824 Matthew Brost 2024-06-17 2486
b06d47be7c83165 Matthew Brost 2023-07-07 2487 if (err) {
b06d47be7c83165 Matthew Brost 2023-07-07 2488 prep_vma_destroy(vm, vma, false);
b06d47be7c83165 Matthew Brost 2023-07-07 2489 xe_vma_destroy_unlocked(vma);
33991ae8f40a824 Matthew Brost 2024-06-17 2490 vma = ERR_PTR(err);
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2491 } else {
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 @2492 cp_vma_mem_attr(&vma->attr, &attr);
^^^^
leads to error pointer dereference.
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2493 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2494
b06d47be7c83165 Matthew Brost 2023-07-07 2495 return vma;
I was wondering why Smatch doesn't catch the missing error code but
actually we return the error code... #ABitConfusing
b06d47be7c83165 Matthew Brost 2023-07-07 2496 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter
Date: Fri, 30 May 2025 02:52:09 +0800 [thread overview]
Message-ID: <202505300251.vkfxetWu-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20250527164003.1068118-6-himal.prasad.ghimiray@intel.com>
References: <20250527164003.1068118-6-himal.prasad.ghimiray@intel.com>
TO: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
TO: intel-xe@lists.freedesktop.org
CC: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
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 linus/master v6.15 next-20250529]
[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-6-himal.prasad.ghimiray%40intel.com
patch subject: [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: loongarch-randconfig-r073-20250529 (https://download.01.org/0day-ci/archive/20250530/202505300251.vkfxetWu-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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202505300251.vkfxetWu-lkp@intel.com/
New smatch warnings:
drivers/gpu/drm/xe/xe_vm.c:2492 new_vma() error: 'vma' dereferencing possible ERR_PTR()
Old smatch warnings:
drivers/gpu/drm/xe/xe_vm.c:2480 new_vma() error: we previously assumed 'bo' could be null (see line 2454)
drivers/gpu/drm/xe/xe_vm.c:2919 prefetch_ranges() warn: iterator 'i' not incremented
arch/loongarch/include/asm/atomic.h:135 arch_atomic_fetch_add_unless() warn: inconsistent indenting
drivers/gpu/drm/xe/xe_vm.c:4082 xe_vm_snapshot_print() warn: passing zero to 'PTR_ERR'
vim +/vma +2492 drivers/gpu/drm/xe/xe_vm.c
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2443
b06d47be7c83165 Matthew Brost 2023-07-07 2444 static struct xe_vma *new_vma(struct xe_vm *vm, struct drm_gpuva_op_map *op,
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2445 struct xe_vma_mem_attr attr, unsigned int flags)
b06d47be7c83165 Matthew Brost 2023-07-07 2446 {
b06d47be7c83165 Matthew Brost 2023-07-07 2447 struct xe_bo *bo = op->gem.obj ? gem_to_xe_bo(op->gem.obj) : NULL;
24f947d58fe554c Thomas Hellström 2023-12-12 2448 struct drm_exec exec;
b06d47be7c83165 Matthew Brost 2023-07-07 2449 struct xe_vma *vma;
33991ae8f40a824 Matthew Brost 2024-06-17 2450 int err = 0;
b06d47be7c83165 Matthew Brost 2023-07-07 2451
b06d47be7c83165 Matthew Brost 2023-07-07 2452 lockdep_assert_held_write(&vm->lock);
b06d47be7c83165 Matthew Brost 2023-07-07 2453
b06d47be7c83165 Matthew Brost 2023-07-07 2454 if (bo) {
d2197029026021e Dave Airlie 2023-12-22 2455 drm_exec_init(&exec, DRM_EXEC_INTERRUPTIBLE_WAIT, 0);
24f947d58fe554c Thomas Hellström 2023-12-12 2456 drm_exec_until_all_locked(&exec) {
24f947d58fe554c Thomas Hellström 2023-12-12 2457 err = 0;
24f947d58fe554c Thomas Hellström 2023-12-12 2458 if (!bo->vm) {
24f947d58fe554c Thomas Hellström 2023-12-12 2459 err = drm_exec_lock_obj(&exec, xe_vm_obj(vm));
24f947d58fe554c Thomas Hellström 2023-12-12 2460 drm_exec_retry_on_contention(&exec);
24f947d58fe554c Thomas Hellström 2023-12-12 2461 }
24f947d58fe554c Thomas Hellström 2023-12-12 2462 if (!err) {
24f947d58fe554c Thomas Hellström 2023-12-12 2463 err = drm_exec_lock_obj(&exec, &bo->ttm.base);
24f947d58fe554c Thomas Hellström 2023-12-12 2464 drm_exec_retry_on_contention(&exec);
24f947d58fe554c Thomas Hellström 2023-12-12 2465 }
24f947d58fe554c Thomas Hellström 2023-12-12 2466 if (err) {
24f947d58fe554c Thomas Hellström 2023-12-12 2467 drm_exec_fini(&exec);
b06d47be7c83165 Matthew Brost 2023-07-07 2468 return ERR_PTR(err);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2469 }
24f947d58fe554c Thomas Hellström 2023-12-12 2470 }
24f947d58fe554c Thomas Hellström 2023-12-12 2471 }
b06d47be7c83165 Matthew Brost 2023-07-07 2472 vma = xe_vma_create(vm, bo, op->gem.offset,
b06d47be7c83165 Matthew Brost 2023-07-07 2473 op->va.addr, op->va.addr +
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2474 op->va.range - 1, attr.pat_index, flags);
33991ae8f40a824 Matthew Brost 2024-06-17 2475 if (IS_ERR(vma))
33991ae8f40a824 Matthew Brost 2024-06-17 2476 goto err_unlock;
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2477
33991ae8f40a824 Matthew Brost 2024-06-17 2478 if (xe_vma_is_userptr(vma))
5bd24e78829ad56 Thomas Hellström 2024-01-31 2479 err = xe_vma_userptr_pin_pages(to_userptr_vma(vma));
33991ae8f40a824 Matthew Brost 2024-06-17 2480 else if (!xe_vma_has_no_bo(vma) && !bo->vm)
b06d47be7c83165 Matthew Brost 2023-07-07 2481 err = add_preempt_fences(vm, bo);
33991ae8f40a824 Matthew Brost 2024-06-17 2482
33991ae8f40a824 Matthew Brost 2024-06-17 2483 err_unlock:
33991ae8f40a824 Matthew Brost 2024-06-17 2484 if (bo)
33991ae8f40a824 Matthew Brost 2024-06-17 2485 drm_exec_fini(&exec);
33991ae8f40a824 Matthew Brost 2024-06-17 2486
b06d47be7c83165 Matthew Brost 2023-07-07 2487 if (err) {
b06d47be7c83165 Matthew Brost 2023-07-07 2488 prep_vma_destroy(vm, vma, false);
b06d47be7c83165 Matthew Brost 2023-07-07 2489 xe_vma_destroy_unlocked(vma);
33991ae8f40a824 Matthew Brost 2024-06-17 2490 vma = ERR_PTR(err);
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 2491 } else {
341ac2942dd2087 Himal Prasad Ghimiray 2025-05-27 @2492 cp_vma_mem_attr(&vma->attr, &attr);
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2493 }
dd08ebf6c3525a7 Matthew Brost 2023-03-30 2494
b06d47be7c83165 Matthew Brost 2023-07-07 2495 return vma;
b06d47be7c83165 Matthew Brost 2023-07-07 2496 }
b06d47be7c83165 Matthew Brost 2023-07-07 2497
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next parent reply other threads:[~2025-06-02 6:19 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-29 18:52 kernel test robot [this message]
2025-06-02 6:19 ` [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2025-05-29 23:18 [PATCH v3 09/19] drm/xe/svm: Split system allocator vma incase of madvise call kernel test robot
2025-06-02 6:31 ` Dan Carpenter
2025-05-27 16:39 [PATCH v3 00/19] MADVISE FOR XE Himal Prasad Ghimiray
2025-05-27 16:39 ` [PATCH v3 01/19] Introduce drm_gpuvm_sm_map_ops_flags enums for sm_map_ops Himal Prasad Ghimiray
2025-05-27 16:39 ` [PATCH v3 02/19] drm/xe/uapi: Add madvise interface Himal Prasad Ghimiray
2025-05-28 16:27 ` Matthew Brost
2025-05-28 17:03 ` Souza, Jose
2025-05-29 18:03 ` Matthew Brost
2025-05-29 18:00 ` Matthew Brost
2025-06-10 4:32 ` Ghimiray, Himal Prasad
2025-05-27 16:39 ` [PATCH v3 03/19] drm/xe/vm: Add attributes struct as member of vma Himal Prasad Ghimiray
2025-05-28 16:46 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 04/19] drm/xe/vma: Move pat_index to vma attributes Himal Prasad Ghimiray
2025-05-28 22:51 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 05/19] drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter Himal Prasad Ghimiray
2025-05-28 22:58 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 06/19] drm/gpusvm: Make drm_gpusvm_for_each_* macros public Himal Prasad Ghimiray
2025-05-28 23:01 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 07/19] drm/xe/vm: Add a helper xe_vm_range_tilemask_tlb_invalidation() Himal Prasad Ghimiray
2025-05-28 23:12 ` Matthew Brost
2025-05-29 3:21 ` Ghimiray, Himal Prasad
2025-05-27 16:39 ` [PATCH v3 08/19] drm/xe/svm: Add xe_svm_ranges_zap_ptes_in_range() for PTE zapping Himal Prasad Ghimiray
2025-05-28 23:15 ` Matthew Brost
2025-05-29 3:06 ` Ghimiray, Himal Prasad
2025-05-29 4:00 ` Matthew Brost
2025-05-30 6:29 ` Matthew Brost
2025-06-10 4:31 ` Ghimiray, Himal Prasad
2025-05-27 16:39 ` [PATCH v3 09/19] drm/xe/svm: Split system allocator vma incase of madvise call Himal Prasad Ghimiray
2025-05-29 2:49 ` Matthew Brost
2025-05-29 3:14 ` Ghimiray, Himal Prasad
2025-05-27 16:39 ` [PATCH v3 10/19] drm/xe: Implement madvise ioctl for xe Himal Prasad Ghimiray
2025-05-29 22:43 ` Matthew Brost
2025-05-30 6:36 ` Matthew Brost
2025-05-30 21:34 ` Matthew Brost
2025-06-10 4:52 ` Ghimiray, Himal Prasad
2025-06-10 5:13 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 11/19] drm/xe: Allow CPU address mirror VMA unbind with gpu bindings for madvise Himal Prasad Ghimiray
2025-05-29 22:54 ` Matthew Brost
2025-06-12 9:02 ` Ghimiray, Himal Prasad
2025-05-27 16:39 ` [PATCH v3 12/19] drm/xe/svm : Add svm ranges migration policy on atomic access Himal Prasad Ghimiray
2025-05-29 23:27 ` Matthew Brost
2025-05-29 23:38 ` Matthew Brost
2025-05-30 4:40 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 13/19] drm/xe/madvise: Update migration policy based on preferred location Himal Prasad Ghimiray
2025-05-29 23:42 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 14/19] drm/xe/svm: Support DRM_XE_SVM_ATTR_PAT memory attribute Himal Prasad Ghimiray
2025-05-30 0:24 ` Matthew Brost
2025-05-27 16:39 ` [PATCH v3 15/19] drm/xe/uapi: Add flag for consulting madvise hints on svm prefetch Himal Prasad Ghimiray
2025-05-28 16:29 ` Matthew Brost
2025-05-27 16:40 ` [PATCH v3 16/19] drm/xe/svm: Consult madvise preferred location in prefetch Himal Prasad Ghimiray
2025-05-30 4:24 ` Matthew Brost
2025-06-24 18:56 ` Matthew Brost
2025-05-27 16:40 ` [PATCH v3 17/19] drm/xe/uapi: Add UAPI for querying VMA count and memory attributes Himal Prasad Ghimiray
2025-05-28 17:02 ` Souza, Jose
2025-05-30 1:11 ` kernel test robot
2025-05-30 4:29 ` Matthew Brost
2025-05-27 16:40 ` [PATCH v3 18/19] drm/xe/bo: Add attributes field to xe_bo Himal Prasad Ghimiray
2025-05-28 23:47 ` Matthew Brost
2025-05-29 2:29 ` Ghimiray, Himal Prasad
2025-05-27 16:40 ` [PATCH v3 19/19] drm/xe/bo: Update atomic_access attribute on madvise Himal Prasad Ghimiray
2025-05-28 23:46 ` Matthew Brost
2025-05-29 3:03 ` Ghimiray, Himal Prasad
2025-05-29 18:24 ` Matthew Brost
2025-05-29 18:30 ` Matthew Brost
2025-05-27 21:35 ` ✓ CI.Patch_applied: success for MADVISE FOR XE Patchwork
2025-05-27 21:35 ` ✗ CI.checkpatch: warning " Patchwork
2025-05-27 21:37 ` ✓ CI.KUnit: success " Patchwork
2025-05-27 21:40 ` ✗ CI.Build: failure " Patchwork
2025-05-28 7:45 ` ✓ CI.Patch_applied: success " Patchwork
2025-05-28 7:45 ` ✗ CI.checkpatch: warning " Patchwork
2025-05-28 7:46 ` ✓ CI.KUnit: success " Patchwork
2025-05-28 7:50 ` ✗ CI.Build: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202505300251.vkfxetWu-lkp@intel.com \
--to=dan.carpenter@linaro.org \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.