From: "Dingchen (David) Zhang" <dingchen.zh...@amd.com>

[ Upstream commit 4ccf9446b2a3615615045346c97f8a1e2a16568a ]

[why]
the current implementation of hdcp2 rx id list validation does not
have handler/checker for invalid message status, e.g. HMAC, the V
parameter calculated from PSP not matching the V prime from Rx.

[how]
return a generic FAILURE for any message status not SUCCESS or
REVOKED.

Signed-off-by: Dingchen (David) Zhang <dingchen.zh...@amd.com>
Reviewed-by: Bhawanpreet Lakha <bhawanpreet.la...@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pil...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c 
b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c
index 904ce9b88088..afbe8856468a 100644
--- a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c
+++ b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c
@@ -791,6 +791,8 @@ enum mod_hdcp_status 
mod_hdcp_hdcp2_validate_rx_id_list(struct mod_hdcp *hdcp)
                           
TA_HDCP2_MSG_AUTHENTICATION_STATUS__RECEIVERID_REVOKED) {
                        hdcp->connection.is_hdcp2_revoked = 1;
                        status = MOD_HDCP_STATUS_HDCP2_RX_ID_LIST_REVOKED;
+               } else {
+                       status = 
MOD_HDCP_STATUS_HDCP2_VALIDATE_RX_ID_LIST_FAILURE;
                }
        }
        mutex_unlock(&psp->hdcp_context.mutex);
-- 
2.30.2

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to