Skip to content

Commit c3e9826

Browse files
ISCAS-Vulabalexdeucher
authored andcommitted
drm/amd/display: Add null pointer check for get_first_active_display()
The function mod_hdcp_hdcp1_enable_encryption() calls the function get_first_active_display(), but does not check its return value. The return value is a null pointer if the display list is empty. This will lead to a null pointer dereference in mod_hdcp_hdcp2_enable_encryption(). Add a null pointer check for get_first_active_display() and return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null. Fixes: 2deade5 ("drm/amd/display: Remove hdcp display state with mst fix") Signed-off-by: Wentao Liang <[email protected]> Reviewed-by: Alex Hung <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] # v5.8
1 parent fce0afc commit c3e9826

File tree

1 file changed

+3
-0
lines changed
  • drivers/gpu/drm/amd/display/modules/hdcp

1 file changed

+3
-0
lines changed

drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,9 @@ enum mod_hdcp_status mod_hdcp_hdcp1_enable_encryption(struct mod_hdcp *hdcp)
368368
struct mod_hdcp_display *display = get_first_active_display(hdcp);
369369
enum mod_hdcp_status status = MOD_HDCP_STATUS_SUCCESS;
370370

371+
if (!display)
372+
return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND;
373+
371374
mutex_lock(&psp->hdcp_context.mutex);
372375
hdcp_cmd = (struct ta_hdcp_shared_memory *)psp->hdcp_context.context.mem_context.shared_buf;
373376
memset(hdcp_cmd, 0, sizeof(struct ta_hdcp_shared_memory));

0 commit comments

Comments
 (0)