| From fe0843c3a976be1f9f12011792690ac335732052 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 25 Jan 2021 18:05:50 -0500 |
| Subject: drm/amd/display: add handling for hdcp2 rx id list validation |
| |
| From: Dingchen (David) Zhang <dingchen.zhang@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.zhang@amd.com> |
| Reviewed-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> |
| Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> |
| Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Sasha Levin <sashal@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 3a367a5968ae..972f2600f967 100644 |
| --- a/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c |
| +++ b/drivers/gpu/drm/amd/display/modules/hdcp/hdcp_psp.c |
| @@ -789,6 +789,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 |
| |