All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: drivers/gpu/drm/msm/msm_gem_vma.c:392 msm_gem_vma_new() error: we previously assumed 'obj' could be null (see line 377)
Date: Thu, 10 Sep 2026 22:47:32 +0800	[thread overview]
Message-ID: <202609102210.J9Ag5Rin-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Rob Clark <robin.clark@oss.qualcomm.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   50d05c7c76c96b90462f24debacca971d2e86713
commit: c07612365087c8873f3faa2a47642ffa73b12c54 drm/msm: Disallow foreign mapping of _NO_SHARE
date:   5 months ago
:::::: branch date: 20 hours ago
:::::: commit date: 5 months ago
config: arc-randconfig-r072-20260907 (https://download.01.org/0day-ci/archive/20260910/202609102210.J9Ag5Rin-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 11.5.0
smatch: v0.5.0-9187-g5189e3fb

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
| Fixes: c07612365087 ("drm/msm: Disallow foreign mapping of _NO_SHARE")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609102210.J9Ag5Rin-lkp@intel.com/

smatch warnings:
drivers/gpu/drm/msm/msm_gem_vma.c:392 msm_gem_vma_new() error: we previously assumed 'obj' could be null (see line 377)

vim +/obj +392 drivers/gpu/drm/msm/msm_gem_vma.c

7ad0e8cf631782 Jordan Crouse         2018-11-07  365  
da0e1407beb3a4 Rob Clark             2025-06-29  366  /* Create a new vma and allocate an iova for it */
37889600f58ea5 Rob Clark             2025-06-29  367  struct drm_gpuva *
37889600f58ea5 Rob Clark             2025-06-29  368  msm_gem_vma_new(struct drm_gpuvm *gpuvm, struct drm_gem_object *obj,
2c7ad9925523f6 Rob Clark             2025-06-29  369  		u64 offset, u64 range_start, u64 range_end)
fc2f07566a2cb1 Rob Clark             2023-03-20  370  {
37889600f58ea5 Rob Clark             2025-06-29  371  	struct msm_gem_vm *vm = to_msm_vm(gpuvm);
111fdd2198e63b Rob Clark             2025-06-29  372  	struct drm_gpuvm_bo *vm_bo;
fc2f07566a2cb1 Rob Clark             2023-03-20  373  	struct msm_gem_vma *vma;
da0e1407beb3a4 Rob Clark             2025-06-29  374  	int ret;
fc2f07566a2cb1 Rob Clark             2023-03-20  375  
c07612365087c8 Rob Clark             2026-03-24  376  	/* _NO_SHARE objs cannot be mapped outside of their "host" vm: */
c07612365087c8 Rob Clark             2026-03-24 @377  	if (obj && (to_msm_bo(obj)->flags & MSM_BO_NO_SHARE) &&
c07612365087c8 Rob Clark             2026-03-24  378  	    GEM_WARN_ON(obj->resv != drm_gpuvm_resv(gpuvm))) {
c07612365087c8 Rob Clark             2026-03-24  379  		return ERR_PTR(-EINVAL);
c07612365087c8 Rob Clark             2026-03-24  380  	}
c07612365087c8 Rob Clark             2026-03-24  381  
fe4952b5f27cca Rob Clark             2025-06-29  382  	drm_gpuvm_resv_assert_held(&vm->base);
fe4952b5f27cca Rob Clark             2025-06-29  383  
fc2f07566a2cb1 Rob Clark             2023-03-20  384  	vma = kzalloc(sizeof(*vma), GFP_KERNEL);
fc2f07566a2cb1 Rob Clark             2023-03-20  385  	if (!vma)
da0e1407beb3a4 Rob Clark             2025-06-29  386  		return ERR_PTR(-ENOMEM);
fc2f07566a2cb1 Rob Clark             2023-03-20  387  
111fdd2198e63b Rob Clark             2025-06-29  388  	if (vm->managed) {
2c7ad9925523f6 Rob Clark             2025-06-29  389  		BUG_ON(offset != 0);
2e6a8a1fe2b262 Rob Clark             2025-06-29  390  		BUG_ON(!obj);  /* NULL mappings not valid for kernel managed VM */
057e55f337c5bb Rob Clark             2025-06-29  391  		ret = drm_mm_insert_node_in_range(&vm->mm, &vma->node,
da0e1407beb3a4 Rob Clark             2025-06-29 @392  						obj->size, PAGE_SIZE, 0,
2ee4b5d265363f Rob Clark             2022-04-11  393  						range_start, range_end, 0);
0e08270a1f01bc Sushmita Susheelendra 2017-06-13  394  
667ce33e57d0de Rob Clark             2016-09-28  395  		if (ret)
da0e1407beb3a4 Rob Clark             2025-06-29  396  			goto err_free_vma;
667ce33e57d0de Rob Clark             2016-09-28  397  
111fdd2198e63b Rob Clark             2025-06-29  398  		range_start = vma->node.start;
111fdd2198e63b Rob Clark             2025-06-29  399  		range_end   = range_start + obj->size;
111fdd2198e63b Rob Clark             2025-06-29  400  	}
111fdd2198e63b Rob Clark             2025-06-29  401  
2e6a8a1fe2b262 Rob Clark             2025-06-29  402  	if (obj)
111fdd2198e63b Rob Clark             2025-06-29  403  		GEM_WARN_ON((range_end - range_start) > obj->size);
111fdd2198e63b Rob Clark             2025-06-29  404  
efe927b9702643 Dmitry Baryshkov      2025-08-23  405  	struct drm_gpuva_op_map op_map = {
efe927b9702643 Dmitry Baryshkov      2025-08-23  406  		.va.addr = range_start,
efe927b9702643 Dmitry Baryshkov      2025-08-23  407  		.va.range = range_end - range_start,
efe927b9702643 Dmitry Baryshkov      2025-08-23  408  		.gem.obj = obj,
efe927b9702643 Dmitry Baryshkov      2025-08-23  409  		.gem.offset = offset,
efe927b9702643 Dmitry Baryshkov      2025-08-23  410  	};
efe927b9702643 Dmitry Baryshkov      2025-08-23  411  
3309323241fbb3 Boris Brezillon       2025-08-19  412  	drm_gpuva_init_from_op(&vma->base, &op_map);
c0ee9794693c1f Jordan Crouse         2018-11-07  413  	vma->mapped = false;
667ce33e57d0de Rob Clark             2016-09-28  414  
111fdd2198e63b Rob Clark             2025-06-29  415  	ret = drm_gpuva_insert(&vm->base, &vma->base);
111fdd2198e63b Rob Clark             2025-06-29  416  	if (ret)
111fdd2198e63b Rob Clark             2025-06-29  417  		goto err_free_range;
da0e1407beb3a4 Rob Clark             2025-06-29  418  
2e6a8a1fe2b262 Rob Clark             2025-06-29  419  	if (!obj)
2e6a8a1fe2b262 Rob Clark             2025-06-29  420  		return &vma->base;
2e6a8a1fe2b262 Rob Clark             2025-06-29  421  
111fdd2198e63b Rob Clark             2025-06-29  422  	vm_bo = drm_gpuvm_bo_obtain(&vm->base, obj);
111fdd2198e63b Rob Clark             2025-06-29  423  	if (IS_ERR(vm_bo)) {
111fdd2198e63b Rob Clark             2025-06-29  424  		ret = PTR_ERR(vm_bo);
111fdd2198e63b Rob Clark             2025-06-29  425  		goto err_va_remove;
111fdd2198e63b Rob Clark             2025-06-29  426  	}
111fdd2198e63b Rob Clark             2025-06-29  427  
111fdd2198e63b Rob Clark             2025-06-29  428  	drm_gpuvm_bo_extobj_add(vm_bo);
111fdd2198e63b Rob Clark             2025-06-29  429  	drm_gpuva_link(&vma->base, vm_bo);
111fdd2198e63b Rob Clark             2025-06-29  430  	GEM_WARN_ON(drm_gpuvm_bo_put(vm_bo));
667ce33e57d0de Rob Clark             2016-09-28  431  
37889600f58ea5 Rob Clark             2025-06-29  432  	return &vma->base;
da0e1407beb3a4 Rob Clark             2025-06-29  433  
111fdd2198e63b Rob Clark             2025-06-29  434  err_va_remove:
111fdd2198e63b Rob Clark             2025-06-29  435  	drm_gpuva_remove(&vma->base);
111fdd2198e63b Rob Clark             2025-06-29  436  err_free_range:
111fdd2198e63b Rob Clark             2025-06-29  437  	if (vm->managed)
111fdd2198e63b Rob Clark             2025-06-29  438  		drm_mm_remove_node(&vma->node);
da0e1407beb3a4 Rob Clark             2025-06-29  439  err_free_vma:
da0e1407beb3a4 Rob Clark             2025-06-29  440  	kfree(vma);
da0e1407beb3a4 Rob Clark             2025-06-29  441  	return ERR_PTR(ret);
667ce33e57d0de Rob Clark             2016-09-28  442  }
667ce33e57d0de Rob Clark             2016-09-28  443  

:::::: The code at line 392 was first introduced by commit
:::::: da0e1407beb3a40e1b78418b257b849befb24bc6 drm/msm: Collapse vma allocation and initialization

:::::: TO: Rob Clark <robdclark@chromium.org>
:::::: CC: Rob Clark <robin.clark@oss.qualcomm.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2026-09-10 15:11 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-10 14:47 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-09-12 14:33 drivers/gpu/drm/msm/msm_gem_vma.c:392 msm_gem_vma_new() error: we previously assumed 'obj' could be null (see line 377) kernel test robot
2026-09-09  0:55 kernel test robot
2026-05-23 19:19 kernel test robot

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=202609102210.J9Ag5Rin-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --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.