[bug report] drm/bridge: it6505: fix HDCP CTS compare V matching

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Hermes Wu,

Commit 0989c02c7a5c ("drm/bridge: it6505: fix HDCP CTS compare V
matching") from Dec 30, 2024 (linux-next), leads to the following
Smatch static checker warning:

	drivers/gpu/drm/bridge/ite-it6505.c:2253 it6505_hdcp_part2_ksvlist_check()
	warn: ignoring unreachable code.

drivers/gpu/drm/bridge/ite-it6505.c
    2230 static bool it6505_hdcp_part2_ksvlist_check(struct it6505 *it6505)
    2231 {
    2232         struct device *dev = it6505->dev;
    2233         u8 av[5][4], bv[5][4];
    2234         int i, err, retry;
    2235 
    2236         i = it6505_setup_sha1_input(it6505, it6505->sha1_input);
    2237         if (i <= 0) {
    2238                 dev_err(dev, "SHA-1 Input length error %d", i);
    2239                 return false;
    2240         }
    2241 
    2242         it6505_sha1_digest(it6505, it6505->sha1_input, i, (u8 *)av);
    2243         /*1B-05 V' must retry 3 times */
    2244         for (retry = 0; retry < 3; retry++) {
    2245                 err = it6505_get_dpcd(it6505, DP_AUX_HDCP_V_PRIME(0), (u8 *)bv,
    2246                                       sizeof(bv));
    2247 
    2248                 if (err < 0) {
    2249                         dev_err(dev, "Read V' value Fail %d", retry);
    2250                         continue;
    2251                 }
    2252 
--> 2253                 for (i = 0; i < 5; i++) {

This looks like a loop from 0-4.

    2254                         if (bv[i][3] != av[i][0] || bv[i][2] != av[i][1] ||
    2255                             av[i][1] != av[i][2] || bv[i][0] != av[i][3])
    2256                                 break;
    2257 
    2258                         DRM_DEV_DEBUG_DRIVER(dev, "V' all match!! %d, %d", retry, i);
    2259                         return true;

But it is a "loop" from 0-0.

    2260                 }
    2261         }
    2262 
    2263         DRM_DEV_DEBUG_DRIVER(dev, "V' NOT match!! %d", retry);
    2264         return false;
    2265 }

regards,
dan carpenter



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux