Commit a97567a0 authored by Colin Ian King's avatar Colin Ian King Committed by Alex Deucher

drm/amd/display: fix a potential null pointer dereference

Currently the pointer init_data is dereferenced on the assignment
of fw_info before init_data is sanity checked to see if it is null.
Fix te potential null pointer dereference on init_data by only
performing dereference after it is null checked.

Addresses-Coverity: ("Dereference before null check")
Fixes: 9adc8050 ("drm/amd/display: make firmware info only load once during dc_bios create")
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a13362c1
...@@ -1235,7 +1235,7 @@ static bool calc_pll_max_vco_construct( ...@@ -1235,7 +1235,7 @@ static bool calc_pll_max_vco_construct(
struct calc_pll_clock_source_init_data *init_data) struct calc_pll_clock_source_init_data *init_data)
{ {
uint32_t i; uint32_t i;
struct dc_firmware_info *fw_info = &init_data->bp->fw_info; struct dc_firmware_info *fw_info;
if (calc_pll_cs == NULL || if (calc_pll_cs == NULL ||
init_data == NULL || init_data == NULL ||
init_data->bp == NULL) init_data->bp == NULL)
...@@ -1244,6 +1244,7 @@ static bool calc_pll_max_vco_construct( ...@@ -1244,6 +1244,7 @@ static bool calc_pll_max_vco_construct(
if (init_data->bp->fw_info_valid) if (init_data->bp->fw_info_valid)
return false; return false;
fw_info = &init_data->bp->fw_info;
calc_pll_cs->ctx = init_data->ctx; calc_pll_cs->ctx = init_data->ctx;
calc_pll_cs->ref_freq_khz = fw_info->pll_info.crystal_frequency; calc_pll_cs->ref_freq_khz = fw_info->pll_info.crystal_frequency;
calc_pll_cs->min_vco_khz = calc_pll_cs->min_vco_khz =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment