[bug report] drm/amdgpu: optimize amdgpu device attribute code

Dan Carpenter dan.carpenter at linaro.org
Mon Jul 31 06:32:46 UTC 2023


Hello Kevin Wang,

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

The patch 4e01847c38f7: "drm/amdgpu: optimize amdgpu device attribute 
code" from Apr 27, 2020, leads to the following Smatch complaint:

    ./drivers/gpu/drm/amd/pm/amdgpu_pm.c:2182 amdgpu_device_attr_create()
    warn: variable dereferenced before check 'attr' (see line 2175)

./drivers/gpu/drm/amd/pm/amdgpu_pm.c
  2174		struct device_attribute *dev_attr = &attr->dev_attr;
  2175		const char *name = dev_attr->attr.name;
                                   ^^^^^^^^^^
Dereferenced.

  2176		enum amdgpu_device_attr_states attr_states = ATTR_STATE_SUPPORTED;
  2177		struct amdgpu_device_attr_entry *attr_entry;
  2178	
  2179		int (*attr_update)(struct amdgpu_device *adev, struct amdgpu_device_attr *attr,
  2180				   uint32_t mask, enum amdgpu_device_attr_states *states) = default_attr_update;
  2181	
  2182		BUG_ON(!attr);

Checked to late.  Also doesn't checkpatch warn about this?  Calling
BUG_ON() here is not correct.

  2183	
  2184		attr_update = attr->attr_update ? attr->attr_update : default_attr_update;

regards,
dan carpenter


More information about the amd-gfx mailing list