All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android12-kiwi-5.10 198/198] drivers/gpu/drm/ttm/ttm_bo.c:854 ttm_mem_evict_first() warn: inconsistent returns 'global &ttm_bo_glob.lru_lock'.
@ 2026-01-25  2:00 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-01-25  2:00 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: cros-kernel-buildreports@googlegroups.com

tree:   https://android.googlesource.com/kernel/common android12-kiwi-5.10
head:   23658a471d5af4e7b9df0559075c0b57bbf22a67
commit: 51c9ed876ce194f1f3c6bd778b7bb46a8deb1dd9 [198/198] ANDROID: GKI: Add DRM_TTM config to GKI
:::::: branch date: 13 hours ago
:::::: commit date: 6 years ago
config: i386-randconfig-141-20260125 (https://download.01.org/0day-ci/archive/20260125/202601250905.skPDsShd-lkp@intel.com/config)
compiler: gcc-13 (Debian 13.3.0-16) 13.3.0
smatch version: v0.5.0-8994-gd50c5a4c

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/202601250905.skPDsShd-lkp@intel.com/

New smatch warnings:
drivers/gpu/drm/ttm/ttm_bo.c:854 ttm_mem_evict_first() warn: inconsistent returns 'global &ttm_bo_glob.lru_lock'.
drivers/gpu/drm/ttm/ttm_bo.c:1875 ttm_bo_swapout() warn: inconsistent returns '&glob->lru_lock'.
drivers/gpu/drm/ttm/ttm_bo_util.c:424 ttm_bo_move_memcpy() error: we previously assumed 'ttm' could be null (see line 399)
drivers/gpu/drm/ttm/ttm_page_alloc.c:499 ttm_alloc_new_pages() warn: use 'gfp_flags' here instead of GFP_KERNEL?
drivers/gpu/drm/ttm/ttm_page_alloc.c:1008 ttm_page_alloc_init() warn: Calling kobject_put|get with state->initialized unset from line: 967

Old smatch warnings:
drivers/gpu/drm/ttm/ttm_bo.c:840 ttm_mem_evict_first() warn: iterator used outside loop: 'bo'

vim +854 drivers/gpu/drm/ttm/ttm_bo.c

d367bd2a5e2b12 Christian König   2019-05-22  783  
ca262a9998d461 Jerome Glisse     2009-12-08  784  static int ttm_mem_evict_first(struct ttm_bo_device *bdev,
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  785  			       uint32_t mem_type,
e300180f71037f Michel Dänzer     2014-10-09  786  			       const struct ttm_place *place,
d367bd2a5e2b12 Christian König   2019-05-22  787  			       struct ttm_operation_ctx *ctx,
d367bd2a5e2b12 Christian König   2019-05-22  788  			       struct ww_acquire_ctx *ticket)
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  789  {
d367bd2a5e2b12 Christian König   2019-05-22  790  	struct ttm_buffer_object *bo = NULL, *busy_bo = NULL;
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  791  	struct ttm_mem_type_manager *man = &bdev->man[mem_type];
6ba435812e0d85 Christian König   2017-11-08  792  	bool locked = false;
cf6c467d67d319 Christian König   2017-01-10  793  	unsigned i;
6ba435812e0d85 Christian König   2017-11-08  794  	int ret;
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  795  
97588b5b9a6b33 Christian König   2019-09-25  796  	spin_lock(&ttm_bo_glob.lru_lock);
cf6c467d67d319 Christian König   2017-01-10  797  	for (i = 0; i < TTM_MAX_BO_PRIORITY; ++i) {
cf6c467d67d319 Christian König   2017-01-10  798  		list_for_each_entry(bo, &man->lru[i], lru) {
d367bd2a5e2b12 Christian König   2019-05-22  799  			bool busy;
d367bd2a5e2b12 Christian König   2019-05-22  800  
d367bd2a5e2b12 Christian König   2019-05-22  801  			if (!ttm_bo_evict_swapout_allowable(bo, ctx, &locked,
d367bd2a5e2b12 Christian König   2019-05-22  802  							    &busy)) {
0dbd555a011c2d Christian König   2019-07-31  803  				if (busy && !busy_bo && ticket !=
52791eeec1d9f4 Christian König   2019-08-11  804  				    dma_resv_locking_ctx(bo->base.resv))
d367bd2a5e2b12 Christian König   2019-05-22  805  					busy_bo = bo;
6ba435812e0d85 Christian König   2017-11-08  806  				continue;
d367bd2a5e2b12 Christian König   2019-05-22  807  			}
a2ab19fed9d1dc Christian König   2016-08-30  808  
cf6c467d67d319 Christian König   2017-01-10  809  			if (place && !bdev->driver->eviction_valuable(bo,
cf6c467d67d319 Christian König   2017-01-10  810  								      place)) {
6ba435812e0d85 Christian König   2017-11-08  811  				if (locked)
52791eeec1d9f4 Christian König   2019-08-11  812  					dma_resv_unlock(bo->base.resv);
e300180f71037f Michel Dänzer     2014-10-09  813  				continue;
e300180f71037f Michel Dänzer     2014-10-09  814  			}
1ec39923ef24f5 Christian König   2019-11-11  815  			if (!ttm_bo_get_unless_zero(bo)) {
1ec39923ef24f5 Christian König   2019-11-11  816  				if (locked)
1ec39923ef24f5 Christian König   2019-11-11  817  					dma_resv_unlock(bo->base.resv);
1ec39923ef24f5 Christian König   2019-11-11  818  				continue;
1ec39923ef24f5 Christian König   2019-11-11  819  			}
e7ab20197be3ee Maarten Lankhorst 2012-11-28  820  			break;
e7ab20197be3ee Maarten Lankhorst 2012-11-28  821  		}
e7ab20197be3ee Maarten Lankhorst 2012-11-28  822  
6ba435812e0d85 Christian König   2017-11-08  823  		/* If the inner loop terminated early, we have our candidate */
6ba435812e0d85 Christian König   2017-11-08  824  		if (&bo->lru != &man->lru[i])
cf6c467d67d319 Christian König   2017-01-10  825  			break;
6ba435812e0d85 Christian König   2017-11-08  826  
6ba435812e0d85 Christian König   2017-11-08  827  		bo = NULL;
cf6c467d67d319 Christian König   2017-01-10  828  	}
cf6c467d67d319 Christian König   2017-01-10  829  
6ba435812e0d85 Christian König   2017-11-08  830  	if (!bo) {
1ec39923ef24f5 Christian König   2019-11-11  831  		if (busy_bo && !ttm_bo_get_unless_zero(busy_bo))
1ec39923ef24f5 Christian König   2019-11-11  832  			busy_bo = NULL;
97588b5b9a6b33 Christian König   2019-09-25  833  		spin_unlock(&ttm_bo_glob.lru_lock);
d367bd2a5e2b12 Christian König   2019-05-22  834  		ret = ttm_mem_evict_wait_busy(busy_bo, ctx, ticket);
d367bd2a5e2b12 Christian König   2019-05-22  835  		if (busy_bo)
1ec39923ef24f5 Christian König   2019-11-11  836  			ttm_bo_put(busy_bo);
d367bd2a5e2b12 Christian König   2019-05-22  837  		return ret;
9c51ba1db37cab Thomas Hellstrom  2009-12-02  838  	}
9c51ba1db37cab Thomas Hellstrom  2009-12-02  839  
1ec39923ef24f5 Christian König   2019-11-11  840  	if (bo->deleted) {
83876c1bed8c91 Christian König   2017-04-12  841  		ret = ttm_bo_cleanup_refs(bo, ctx->interruptible,
83876c1bed8c91 Christian König   2017-04-12  842  					  ctx->no_wait_gpu, locked);
1ec39923ef24f5 Christian König   2019-11-11  843  		ttm_bo_put(bo);
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  844  		return ret;
9c51ba1db37cab Thomas Hellstrom  2009-12-02  845  	}
9c51ba1db37cab Thomas Hellstrom  2009-12-02  846  
97588b5b9a6b33 Christian König   2019-09-25  847  	spin_unlock(&ttm_bo_glob.lru_lock);
9c51ba1db37cab Thomas Hellstrom  2009-12-02  848  
83876c1bed8c91 Christian König   2017-04-12  849  	ret = ttm_bo_evict(bo, ctx);
9165fb879f62a7 Christian König   2019-09-19  850  	if (locked)
ca262a9998d461 Jerome Glisse     2009-12-08  851  		ttm_bo_unreserve(bo);
9c51ba1db37cab Thomas Hellstrom  2009-12-02  852  
1ec39923ef24f5 Christian König   2019-11-11  853  	ttm_bo_put(bo);
ca262a9998d461 Jerome Glisse     2009-12-08 @854  	return ret;
ca262a9998d461 Jerome Glisse     2009-12-08  855  }
ba4e7d973dd09b Thomas Hellstrom  2009-06-10  856  

:::::: The code at line 854 was first introduced by commit
:::::: ca262a9998d46196750bb19a9dc4bd465b170ff7 drm/ttm: Rework validation & memory space allocation (V3)

:::::: TO: Jerome Glisse <jglisse@redhat.com>
:::::: CC: Dave Airlie <airlied@redhat.com>

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

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

only message in thread, other threads:[~2026-01-25  2:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-25  2:00 [android-common:android12-kiwi-5.10 198/198] drivers/gpu/drm/ttm/ttm_bo.c:854 ttm_mem_evict_first() warn: inconsistent returns 'global &ttm_bo_glob.lru_lock' 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.