diff mbox

phy: exynos5-usbdrd: Fix off-by-one valid value checking for args->args[0]

Message ID 1425051864.6032.1.camel@phoenix (mailing list archive)
State New, archived
Headers show

Commit Message

Axel Lin Feb. 27, 2015, 3:44 p.m. UTC
Current code uses args->args[0] as array subscript of phy_drd->phys[].
So the valid value range for args->args[0] is 0 ... EXYNOS5_DRDPHYS_NUM - 1.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
 drivers/phy/phy-exynos5-usbdrd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vivek Gautam March 2, 2015, 11:11 a.m. UTC | #1
Hi,

On Friday, February 27, 2015 9:14 PM "Axel Lin" <axel.lin@ingics.com> wrote:
> Current code uses args->args[0] as array subscript of phy_drd->phys[].
> So the valid value range for args->args[0] is 0 ... EXYNOS5_DRDPHYS_NUM - 
> 1.
>
> Signed-off-by: Axel Lin <axel.lin@ingics.com>

Reviewed by: Vivek Gautam <gautam.vivek@samsung.com>

> ---
> drivers/phy/phy-exynos5-usbdrd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/phy/phy-exynos5-usbdrd.c 
> b/drivers/phy/phy-exynos5-usbdrd.c
> index 0437401..e2a0be7 100644
> --- a/drivers/phy/phy-exynos5-usbdrd.c
> +++ b/drivers/phy/phy-exynos5-usbdrd.c
> @@ -531,7 +531,7 @@ static struct phy *exynos5_usbdrd_phy_xlate(struct 
> device *dev,
> {
>  struct exynos5_usbdrd_phy *phy_drd = dev_get_drvdata(dev);
>
> - if (WARN_ON(args->args[0] > EXYNOS5_DRDPHYS_NUM))
> + if (WARN_ON(args->args[0] >= EXYNOS5_DRDPHYS_NUM))
>  return ERR_PTR(-ENODEV);
>
>  return phy_drd->phys[args->args[0]].phy;
> -- 
> 1.9.1
>

BRs
Vivek 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/phy/phy-exynos5-usbdrd.c b/drivers/phy/phy-exynos5-usbdrd.c
index 0437401..e2a0be7 100644
--- a/drivers/phy/phy-exynos5-usbdrd.c
+++ b/drivers/phy/phy-exynos5-usbdrd.c
@@ -531,7 +531,7 @@  static struct phy *exynos5_usbdrd_phy_xlate(struct device *dev,
 {
 	struct exynos5_usbdrd_phy *phy_drd = dev_get_drvdata(dev);
 
-	if (WARN_ON(args->args[0] > EXYNOS5_DRDPHYS_NUM))
+	if (WARN_ON(args->args[0] >= EXYNOS5_DRDPHYS_NUM))
 		return ERR_PTR(-ENODEV);
 
 	return phy_drd->phys[args->args[0]].phy;