On 18/11/2021 15:01, Dan Carpenter wrote:
Hello Matthew Auld,
The patch 7ae034590cea: "drm/i915/ttm: add tt shmem backend" from Oct
18, 2021, leads to the following Smatch static checker warning:
drivers/gpu/drm/i915/gem/i915_gem_ttm.c:335 i915_ttm_eviction_valuable()
warn: signedness bug returning '(-16)'
drivers/gpu/drm/i915/gem/i915_gem_ttm.c
324 static bool i915_ttm_eviction_valuable(struct ttm_buffer_object *bo,
^^^^
325 const struct ttm_place *place)
326 {
327 struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
328
329 /*
330 * EXTERNAL objects should never be swapped out by TTM,
instead we need
331 * to handle that ourselves. TTM will already skip such
objects for us,
332 * but we would like to avoid grabbing locks for no good
reason.
333 */
334 if (bo->ttm && bo->ttm->page_flags & TTM_TT_FLAG_EXTERNAL)
--> 335 return -EBUSY;
^^^^^^^^^^^^^^
This should be return false probably.
Oh, indeed. Did you also want to send a patch for that? Thanks.
336
337 /* Will do for now. Our pinned objects are still on TTM's LRU
lists */
338 return i915_gem_object_evictable(obj);
339 }
regards,
dan carpenter