drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func
authorSrinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Wed, 31 Jul 2024 07:39:28 +0000 (13:09 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 6 Aug 2024 14:44:04 +0000 (10:44 -0400)
This commit adds a null check for the set_output_gamma function pointer
in the dcn20_set_output_transfer_func function. Previously,
set_output_gamma was being checked for null at line 1030, but then it
was being dereferenced without any null check at line 1048. This could
potentially lead to a null pointer dereference error if set_output_gamma
is null.

To fix this, we now ensure that set_output_gamma is not null before
dereferencing it. We do this by adding a null check for set_output_gamma
before the call to set_output_gamma at line 1048.

Cc: Tom Chung <chiahsuan.chung@amd.com>
Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: Roman Li <roman.li@amd.com>
Cc: Alex Hung <alex.hung@amd.com>
Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c

index 5a60649..425432c 100644 (file)
@@ -1045,7 +1045,8 @@ bool dcn20_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx,
        /*
         * if above if is not executed then 'params' equal to 0 and set in bypass
         */
-       mpc->funcs->set_output_gamma(mpc, mpcc_id, params);
+       if (mpc->funcs->set_output_gamma)
+               mpc->funcs->set_output_gamma(mpc, mpcc_id, params);
 
        return true;
 }