From: Colin Ian King Date: Fri, 16 Aug 2019 22:10:11 +0000 (+0100) Subject: drm/amd/display: fix a potential null pointer dereference X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=a97567a06c1ab0e2736cca1515ee635dad888d37;p=openwrt%2Fstaging%2Fblogic.git 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: 9adc8050bf3c ("drm/amd/display: make firmware info only load once during dc_bios create") Reviewed-by: Harry Wentland Signed-off-by: Colin Ian King Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c index bee81bf288be..926954c804a6 100644 --- a/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +++ b/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c @@ -1235,7 +1235,7 @@ static bool calc_pll_max_vco_construct( struct calc_pll_clock_source_init_data *init_data) { 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 || init_data == NULL || init_data->bp == NULL) @@ -1244,6 +1244,7 @@ static bool calc_pll_max_vco_construct( if (init_data->bp->fw_info_valid) return false; + fw_info = &init_data->bp->fw_info; calc_pll_cs->ctx = init_data->ctx; calc_pll_cs->ref_freq_khz = fw_info->pll_info.crystal_frequency; calc_pll_cs->min_vco_khz =