[PATCH 1/2] phy: marvell: Fix off by 1 limit checks

Andrew Goodbody andrew.goodbody at linaro.org
Wed Aug 6 18:43:24 CEST 2025


The limit checks in get_speed_string and get_type_string are off by 1 as
they do not account for the maximum index into an array that can be used
is 1 less than the number of elements in that array. Adjust the limit
checks to allow for this.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
---
 drivers/phy/marvell/comphy_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c
index a666a4e794e..a4121423873 100644
--- a/drivers/phy/marvell/comphy_core.c
+++ b/drivers/phy/marvell/comphy_core.c
@@ -28,7 +28,7 @@ static const char *get_speed_string(u32 speed)
 		"10.3125 Gbps"
 	};
 
-	if (speed < 0 || speed > COMPHY_SPEED_MAX)
+	if (speed < 0 || speed >= COMPHY_SPEED_MAX)
 		return "invalid";
 
 	return speed_strings[speed];
@@ -44,7 +44,7 @@ static const char *get_type_string(u32 type)
 		"IGNORE"
 	};
 
-	if (type < 0 || type > COMPHY_TYPE_MAX)
+	if (type < 0 || type >= COMPHY_TYPE_MAX)
 		return "invalid";
 
 	return type_strings[type];

-- 
2.39.5



More information about the U-Boot mailing list