[bug report] drm/i915/dmc: add i915_to_dmc() and dmc->i915 and use them

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Jani Nikula,

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

The patch 1b28c1c789d0: "drm/i915/dmc: add i915_to_dmc() and 
dmc->i915 and use them" from Mar 1, 2023, leads to the following 
Smatch complaint:

    drivers/gpu/drm/i915/display/intel_dmc.c:1162 intel_dmc_debugfs_status_show()
    error: we previously assumed 'dmc' could be null (see line 1148)

drivers/gpu/drm/i915/display/intel_dmc.c
  1142  
  1143          wakeref = intel_runtime_pm_get(&i915->runtime_pm);
  1144  
  1145          seq_printf(m, "DMC initialized: %s\n", str_yes_no(dmc));'
                                                       ^^^^^^^^^^^^^^^
This is a check for NULL too.

  1146          seq_printf(m, "fw loaded: %s\n",
  1147			   str_yes_no(intel_dmc_has_payload(i915)));
  1148		seq_printf(m, "path: %s\n", dmc ? dmc->fw_path : "N/A");
                                            ^^^
The patch adds a check for NULL.

  1149		seq_printf(m, "Pipe A fw needed: %s\n",
  1150			   str_yes_no(GRAPHICS_VER(i915) >= 12));
  1151		seq_printf(m, "Pipe A fw loaded: %s\n",
  1152			   str_yes_no(has_dmc_id_fw(i915, DMC_FW_PIPEA)));
  1153		seq_printf(m, "Pipe B fw needed: %s\n",
  1154			   str_yes_no(IS_ALDERLAKE_P(i915) ||
  1155				      DISPLAY_VER(i915) >= 14));
  1156		seq_printf(m, "Pipe B fw loaded: %s\n",
  1157			   str_yes_no(has_dmc_id_fw(i915, DMC_FW_PIPEB)));
  1158	
  1159		if (!intel_dmc_has_payload(i915))
  1160			goto out;
  1161	
  1162		seq_printf(m, "version: %d.%d\n", DMC_VERSION_MAJOR(dmc->version),
                                                                    ^^^^^^^^^^^^
  1163			   DMC_VERSION_MINOR(dmc->version));
                                             ^^^^^^^^^^^^
Unchecked dereferences.

  1164	

regards,
dan carpenter



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux