[bug report] drm/ttm: Fix dummy res NULL ptr deref bug

Dan Carpenter dan.carpenter at oracle.com
Thu Aug 11 09:55:27 UTC 2022


Hello Arunpravin Paneer Selvam,

This is a semi-automatic email about new static checker warnings.

The patch cf4b7387c0a8: "drm/ttm: Fix dummy res NULL ptr deref bug"
from Aug 9, 2022, leads to the following Smatch complaint:

    drivers/gpu/drm/ttm/ttm_bo.c:915 ttm_bo_validate()
    warn: variable dereferenced before check 'bo->resource' (see line 907)

drivers/gpu/drm/ttm/ttm_bo.c
   906		 */
   907		if (!ttm_resource_compat(bo->resource, placement)) {
                                         ^^^^^^^^^^^^
Unchecked dereference here inside the function.

   908			ret = ttm_bo_move_buffer(bo, placement, ctx);
   909			if (ret)
   910				return ret;
   911		}
   912		/*
   913		 * We might need to add a TTM.
   914		 */
   915		if (!bo->resource || bo->resource->mem_type == TTM_PL_SYSTEM) {
                     ^^^^^^^^^^^^
Checked too late.

This NULL check was added deliberately based on a report from the kbuild
bot, but it's not clear why bo->resource is NULL at this point.  Was the
patch tested?  There is a stable at vger.kernel.org but there is no Fixes
tag.

   916			ret = ttm_tt_create(bo, true);
   917			if (ret)

regards,
dan carpenter


More information about the dri-devel mailing list