All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c:363 __i915_vma_pin_fence() warn: passing a valid pointer to 'PTR_ERR'
@ 2020-06-29 18:31 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-06-29 18:31 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 6662 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Chris Wilson <chris@chris-wilson.co.uk>
CC: Mika Kuoppala <mika.kuoppala@linux.intel.com>

Hi Chris,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68
commit: f899f786d181e03f6ca29319bd90ba62231cb44b drm/i915: Move GGTT fence registers under gt/
date:   4 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 4 months ago
config: i386-randconfig-m021-20200629 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c:363 __i915_vma_pin_fence() warn: passing a valid pointer to 'PTR_ERR'

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f899f786d181e03f6ca29319bd90ba62231cb44b
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout f899f786d181e03f6ca29319bd90ba62231cb44b
vim +/PTR_ERR +363 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c

41a36b739ae378 drivers/gpu/drm/i915/i915_gem_fence.c     Daniel Vetter 2015-07-24  341  
2850748ef8763a drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-10-04  342  int __i915_vma_pin_fence(struct i915_vma *vma)
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  343  {
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  344  	struct i915_ggtt *ggtt = i915_vm_to_ggtt(vma->vm);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  345  	struct i915_fence_reg *fence;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  346  	struct i915_vma *set = i915_gem_object_is_tiled(vma->obj) ? vma : NULL;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  347  	int err;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  348  
2850748ef8763a drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-10-04  349  	lockdep_assert_held(&vma->vm->mutex);
2850748ef8763a drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-10-04  350  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  351  	/* Just update our place in the LRU if our fence is getting reused. */
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  352  	if (vma->fence) {
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  353  		fence = vma->fence;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  354  		GEM_BUG_ON(fence->vma != vma);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  355  		atomic_inc(&fence->pin_count);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  356  		if (!fence->dirty) {
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  357  			list_move_tail(&fence->link, &ggtt->fence_list);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  358  			return 0;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  359  		}
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  360  	} else if (set) {
e9d4c9245f54cd drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-10-16  361  		fence = fence_find(ggtt);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  362  		if (IS_ERR(fence))
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22 @363  			return PTR_ERR(fence);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  364  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  365  		GEM_BUG_ON(atomic_read(&fence->pin_count));
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  366  		atomic_inc(&fence->pin_count);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  367  	} else {
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  368  		return 0;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  369  	}
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  370  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  371  	err = fence_update(fence, set);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  372  	if (err)
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  373  		goto out_unpin;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  374  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  375  	GEM_BUG_ON(fence->vma != set);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  376  	GEM_BUG_ON(vma->fence != (set ? fence : NULL));
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  377  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  378  	if (set)
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  379  		return 0;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  380  
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  381  out_unpin:
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  382  	atomic_dec(&fence->pin_count);
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  383  	return err;
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  384  }
e2ccc50a3a6c90 drivers/gpu/drm/i915/i915_gem_fence_reg.c Chris Wilson  2019-08-22  385  

:::::: The code at line 363 was first introduced by commit
:::::: e2ccc50a3a6c90cace6a9aef40072e558dd13863 drm/i915: Track ggtt fence reservations under its own mutex

:::::: TO: Chris Wilson <chris@chris-wilson.co.uk>
:::::: CC: Chris Wilson <chris@chris-wilson.co.uk>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34049 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-29 18:31 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-29 18:31 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c:363 __i915_vma_pin_fence() warn: passing a valid pointer to 'PTR_ERR' kernel test robot

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.