diff mbox series

[drm-next] drm/bridge: it6505: Fix unreachable loop increment in KSV list check

Message ID 20250107110740.42892-1-dheeraj.linuxdev@gmail.com (mailing list archive)
State New
Headers show
Series [drm-next] drm/bridge: it6505: Fix unreachable loop increment in KSV list check | expand

Commit Message

Dheeraj Reddy Jonnalagadda Jan. 7, 2025, 11:07 a.m. UTC
The inner loop in it6505_hdcp_part2_ksvlist_check had an unreachable
increment due to returning true before the loop could continue.
Restructure the loop to only return after verifying all 5 entries
match, making the loop increment reachable.

Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matching")
Closes: https://scan7.scan.coverity.com/#/project-view/52337/11354?selectedIssue=1602785
Signed-off-by: Dheeraj Reddy Jonnalagadda <dheeraj.linuxdev@gmail.com>
---
 drivers/gpu/drm/bridge/ite-it6505.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Dmitry Baryshkov Jan. 8, 2025, 2:08 a.m. UTC | #1
On Tue, Jan 07, 2025 at 04:37:40PM +0530, Dheeraj Reddy Jonnalagadda wrote:
> The inner loop in it6505_hdcp_part2_ksvlist_check had an unreachable
> increment due to returning true before the loop could continue.
> Restructure the loop to only return after verifying all 5 entries
> match, making the loop increment reachable.
> 
> Fixes: 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V matching")
> Closes: https://scan7.scan.coverity.com/#/project-view/52337/11354?selectedIssue=1602785
> Signed-off-by: Dheeraj Reddy Jonnalagadda <dheeraj.linuxdev@gmail.com>
> ---
>  drivers/gpu/drm/bridge/ite-it6505.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
> index 88ef76a37fe6..2ff2245abdeb 100644
> --- a/drivers/gpu/drm/bridge/ite-it6505.c
> +++ b/drivers/gpu/drm/bridge/ite-it6505.c
> @@ -2255,8 +2255,10 @@ static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505)
>  			    av[i][1] != av[i][2] || bv[i][0] != av[i][3])
>  				break;
>  
> -			DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
> -			return true;
> +			if (i == 4) {
> +				DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
> +				return true;
> +			}

I think, it's more idiomatic if you move it out of the loop.

>  		}
>  	}
>  
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c
index 88ef76a37fe6..2ff2245abdeb 100644
--- a/drivers/gpu/drm/bridge/ite-it6505.c
+++ b/drivers/gpu/drm/bridge/ite-it6505.c
@@ -2255,8 +2255,10 @@  static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505)
 			    av[i][1] != av[i][2] || bv[i][0] != av[i][3])
 				break;
 
-			DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
-			return true;
+			if (i == 4) {
+				DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
+				return true;
+			}
 		}
 	}