drivers/phy/ti/phy-gmii-sel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
The "phy_id" comes from the device tree so it's going to be correct.
But static checkers sometimes complain when we have an upper bounds
check with no lower bounds check. Also it's a bit unusual that the
lowest valid number is 1 instead of 0 so adding a check could
potentially help someone.
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
drivers/phy/ti/phy-gmii-sel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/phy/ti/phy-gmii-sel.c b/drivers/phy/ti/phy-gmii-sel.c
index 50adabb867cb..6cfe2538d15b 100644
--- a/drivers/phy/ti/phy-gmii-sel.c
+++ b/drivers/phy/ti/phy-gmii-sel.c
@@ -341,7 +341,7 @@ static struct phy *phy_gmii_sel_of_xlate(struct device *dev,
if (priv->soc_data->features & BIT(PHY_GMII_SEL_RMII_IO_CLK_EN) &&
args->args_count < 2)
return ERR_PTR(-EINVAL);
- if (phy_id > priv->num_ports)
+ if (phy_id < 1 || phy_id > priv->num_ports)
return ERR_PTR(-EINVAL);
if (phy_id != priv->if_phys[phy_id - 1].id)
return ERR_PTR(-EINVAL);
--
2.51.0
On Fri, 17 Oct 2025 19:04:23 +0300, Dan Carpenter wrote:
> The "phy_id" comes from the device tree so it's going to be correct.
> But static checkers sometimes complain when we have an upper bounds
> check with no lower bounds check. Also it's a bit unusual that the
> lowest valid number is 1 instead of 0 so adding a check could
> potentially help someone.
>
>
> [...]
Applied, thanks!
[1/1] phy: ti: gmii-sel: Add a sanity check on the phy_id
commit: 9d3daf9ca3239042c2cf473a76db2a77e6de22c6
Best regards,
--
~Vinod
On 10/17/25 18:04, Dan Carpenter wrote: > The "phy_id" comes from the device tree so it's going to be correct. > But static checkers sometimes complain when we have an upper bounds > check with no lower bounds check. Also it's a bit unusual that the > lowest valid number is 1 instead of 0 so adding a check could > potentially help someone. > > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > --- > drivers/phy/ti/phy-gmii-sel.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/phy/ti/phy-gmii-sel.c b/drivers/phy/ti/phy-gmii-sel.c > index 50adabb867cb..6cfe2538d15b 100644 > --- a/drivers/phy/ti/phy-gmii-sel.c > +++ b/drivers/phy/ti/phy-gmii-sel.c > @@ -341,7 +341,7 @@ static struct phy *phy_gmii_sel_of_xlate(struct device *dev, > if (priv->soc_data->features & BIT(PHY_GMII_SEL_RMII_IO_CLK_EN) && > args->args_count < 2) > return ERR_PTR(-EINVAL); > - if (phy_id > priv->num_ports) > + if (phy_id < 1 || phy_id > priv->num_ports) > return ERR_PTR(-EINVAL); > if (phy_id != priv->if_phys[phy_id - 1].id) > return ERR_PTR(-EINVAL); Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
© 2016 - 2026 Red Hat, Inc.