]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session()
authorChenyuan Yang <chenyuan0y@gmail.com>
Thu, 24 Jul 2025 02:36:41 +0000 (21:36 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 18 Aug 2025 21:57:12 +0000 (17:57 -0400)
The function mod_hdcp_hdcp1_create_session() 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.

Add a null pointer check for get_first_active_display() and return
MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null.

This is similar to the commit c3e9826a2202
("drm/amd/display: Add null pointer check for get_first_active_display()").

Fixes: 2deade5ede56 ("drm/amd/display: Remove hdcp display state with mst fix")
Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 5e43eb3cd731649c4f8b9134f857be62a416c893)

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

index e58e7b93810be7271812b493fce921b4a7295ec5..6b7db8ec9a53b2697f1d977cf1321de946ea58bd 100644 (file)
@@ -260,6 +260,9 @@ enum mod_hdcp_status mod_hdcp_hdcp1_create_session(struct mod_hdcp *hdcp)
                return MOD_HDCP_STATUS_FAILURE;
        }
 
+       if (!display)
+               return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND;
+
        hdcp_cmd = (struct ta_hdcp_shared_memory *)psp->hdcp_context.context.mem_context.shared_buf;
 
        mutex_lock(&psp->hdcp_context.mutex);