[PATCH] phy: ti: gmii-sel: Add a sanity check on the phy_id

Dan Carpenter posted 1 patch 3 months, 3 weeks ago
drivers/phy/ti/phy-gmii-sel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] phy: ti: gmii-sel: Add a sanity check on the phy_id
Posted by Dan Carpenter 3 months, 3 weeks ago
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
Re: [PATCH] phy: ti: gmii-sel: Add a sanity check on the phy_id
Posted by Vinod Koul 2 months, 2 weeks ago
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
Re: [PATCH] phy: ti: gmii-sel: Add a sanity check on the phy_id
Posted by Neil Armstrong 2 months, 2 weeks ago
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>