drm/amd/display: Fix pointer dereferenced before checking
authorHaowen Bai <baihaowen@meizu.com>
Thu, 24 Mar 2022 09:46:02 +0000 (17:46 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 1 Apr 2022 03:05:54 +0000 (23:05 -0400)
The value actual_pix_clk_100Hz is dereferencing pointer pix_clk_params
before pix_clk_params is being null checked. Fix this by assigning
pix_clk_params->requested_pix_clk_100hz to actual_pix_clk_100Hz only if
pix_clk_params is not NULL, otherwise just NULL.

Signed-off-by: Haowen Bai <baihaowen@meizu.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c

index cc5128e..c36f8e8 100644 (file)
@@ -1254,7 +1254,7 @@ static uint32_t dcn3_get_pix_clk_dividers(
                struct pixel_clk_params *pix_clk_params,
                struct pll_settings *pll_settings)
 {
-       unsigned long long actual_pix_clk_100Hz = pix_clk_params->requested_pix_clk_100hz;
+       unsigned long long actual_pix_clk_100Hz = pix_clk_params ? pix_clk_params->requested_pix_clk_100hz : 0;
        struct dce110_clk_src *clk_src;
 
        clk_src = TO_DCE110_CLK_SRC(cs);