Hi >-----Original Message----- >From: Colin King (gmail) <colin.i.king@xxxxxxxxx> >Sent: Tuesday, January 7, 2025 5:31 PM >To: Hermes Wu (吳佳宏) <Hermes.Wu@xxxxxxxxxx> >Cc: Andrzej Hajda <andrzej.hajda@xxxxxxxxx>; Neil Armstrong <neil.armstrong@xxxxxxxxxx>; Robert Foss <rfoss@xxxxxxxxxx>; Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx>; Jonas Karlman <jonas@xxxxxxxxx>; Jernej Skrabec <jernej.skrabec@xxxxxxxxx>; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx >Subject: re: drm/bridge: it6505: fix HDCP CTS compare V matching > >Hi, > >static analysis on Linux-next has found a potential issue with the following commit: > >commit 0989c02c7a5c887c70deafen80c64d0291624e1a7 >Author: Hermes Wu <hermes.wu@xxxxxxxxxx> >Date: Mon Dec 30 18:51:26 2024 +0800 > > drm/bridge: it6505: fix HDCP CTS compare V matching > > >The issue is as follows: > >Source: drivers/gpu/drm/bridge/ite-it6505.c, function: >it6505_hdcp_part2_ksvlist_check: > > for (i = 0; i < 5; i++) { > if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] || > 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; > } It should check if the for loop reach i == 4 before return true. I will fix it, thanks > >in the above for-loop, only iteration with i = 0 is performed, either >the if statement breaks out of the loop if the condition is true or >we reach the return true statement. Both conditions means the loop is >never iterated, yet the loop is expected to iterate for 5 times. This >looks incorrect. > >Colin > > >