Re: [PATCH] drm/i915/hdcp: Fix the return handling of drm_hdcp_check_ksvs_revoked

2020-04-29 Thread Sean Paul
On Wed, Apr 29, 2020 at 9:46 AM Ramalingam C  wrote:
>
> drm_hdcp_check_ksvs_revoked() returns the number of revoked keys and
> error codes when the SRM parsing is failed.
>
> Errors in SRM parsing can't affect the HDCP auth, hence with this patch,
> I915 will look out for revoked key count alone.
>

Reviewed-by: Sean Paul 

> Signed-off-by: Ramalingam C 
> cc: Sean Paul 
> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c 
> b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index 2cbc4619b4ce..96bf6def9830 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -576,7 +576,7 @@ int intel_hdcp_auth_downstream(struct intel_connector 
> *connector)
> goto err;
>
> if (drm_hdcp_check_ksvs_revoked(_priv->drm, ksv_fifo,
> -   num_downstream)) {
> +   num_downstream) > 0) {
> drm_err(_priv->drm, "Revoked Ksv(s) in ksv_fifo\n");
> ret = -EPERM;
> goto err;
> @@ -682,7 +682,7 @@ static int intel_hdcp_auth(struct intel_connector 
> *connector)
> if (ret < 0)
> return ret;
>
> -   if (drm_hdcp_check_ksvs_revoked(_priv->drm, bksv.shim, 1)) {
> +   if (drm_hdcp_check_ksvs_revoked(_priv->drm, bksv.shim, 1) > 0) {
> drm_err(_priv->drm, "BKSV is revoked\n");
> return -EPERM;
> }
> @@ -1283,7 +1283,7 @@ static int hdcp2_authentication_key_exchange(struct 
> intel_connector *connector)
>
> if (drm_hdcp_check_ksvs_revoked(_priv->drm,
> msgs.send_cert.cert_rx.receiver_id,
> -   1)) {
> +   1) > 0) {
> drm_err(_priv->drm, "Receiver ID is revoked\n");
> return -EPERM;
> }
> @@ -1484,7 +1484,7 @@ int hdcp2_authenticate_repeater_topology(struct 
> intel_connector *connector)
>   HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
> if (drm_hdcp_check_ksvs_revoked(_priv->drm,
> msgs.recvid_list.receiver_ids,
> -   device_cnt)) {
> +   device_cnt) > 0) {
> drm_err(_priv->drm, "Revoked receiver ID(s) is in 
> list\n");
> return -EPERM;
> }
> --
> 2.20.1
>
> ___
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] drm/i915/hdcp: Fix the return handling of drm_hdcp_check_ksvs_revoked

2020-04-29 Thread Ramalingam C
drm_hdcp_check_ksvs_revoked() returns the number of revoked keys and
error codes when the SRM parsing is failed.

Errors in SRM parsing can't affect the HDCP auth, hence with this patch,
I915 will look out for revoked key count alone.

Signed-off-by: Ramalingam C 
cc: Sean Paul 
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c 
b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 2cbc4619b4ce..96bf6def9830 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -576,7 +576,7 @@ int intel_hdcp_auth_downstream(struct intel_connector 
*connector)
goto err;
 
if (drm_hdcp_check_ksvs_revoked(_priv->drm, ksv_fifo,
-   num_downstream)) {
+   num_downstream) > 0) {
drm_err(_priv->drm, "Revoked Ksv(s) in ksv_fifo\n");
ret = -EPERM;
goto err;
@@ -682,7 +682,7 @@ static int intel_hdcp_auth(struct intel_connector 
*connector)
if (ret < 0)
return ret;
 
-   if (drm_hdcp_check_ksvs_revoked(_priv->drm, bksv.shim, 1)) {
+   if (drm_hdcp_check_ksvs_revoked(_priv->drm, bksv.shim, 1) > 0) {
drm_err(_priv->drm, "BKSV is revoked\n");
return -EPERM;
}
@@ -1283,7 +1283,7 @@ static int hdcp2_authentication_key_exchange(struct 
intel_connector *connector)
 
if (drm_hdcp_check_ksvs_revoked(_priv->drm,
msgs.send_cert.cert_rx.receiver_id,
-   1)) {
+   1) > 0) {
drm_err(_priv->drm, "Receiver ID is revoked\n");
return -EPERM;
}
@@ -1484,7 +1484,7 @@ int hdcp2_authenticate_repeater_topology(struct 
intel_connector *connector)
  HDCP_2_2_DEV_COUNT_LO(rx_info[1]));
if (drm_hdcp_check_ksvs_revoked(_priv->drm,
msgs.recvid_list.receiver_ids,
-   device_cnt)) {
+   device_cnt) > 0) {
drm_err(_priv->drm, "Revoked receiver ID(s) is in list\n");
return -EPERM;
}
-- 
2.20.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel