Messages in this thread | | | From | Patrice CHOTARD <> | Subject | Re: [PATCH] phy: Variable "val" in function miphy_osc_is_ready() could be uninitialized | Date | Wed, 6 Feb 2019 08:39:46 +0000 |
| |
Hi Yizhuo
On 2/6/19 4:30 AM, Yizhuo wrote: > In function miphy_osc_is_ready(), local variable "val" > could be uninitalized. if function regmap_read() returns > -EINVAL. However, this value is used in if statement. > This is potentially unsafe. > > Signed-off-by: Yizhuo <yzhai003@ucr.edu> > --- > drivers/phy/st/phy-miphy28lp.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/phy/st/phy-miphy28lp.c b/drivers/phy/st/phy-miphy28lp.c > index 213e2e15339c..40c7c0a611a0 100644 > --- a/drivers/phy/st/phy-miphy28lp.c > +++ b/drivers/phy/st/phy-miphy28lp.c > @@ -835,7 +835,8 @@ static int miphy_osc_is_ready(struct miphy28lp_phy *miphy_phy) > { > struct miphy28lp_dev *miphy_dev = miphy_phy->phydev; > unsigned long finish = jiffies + 5 * HZ; > - u32 val; > + u32 val = 0; > + int ret; > > if (!miphy_phy->osc_rdy) > return 0; > @@ -844,8 +845,10 @@ static int miphy_osc_is_ready(struct miphy28lp_phy *miphy_phy) > return -EINVAL; > > do { > - regmap_read(miphy_dev->regmap, > + ret = regmap_read(miphy_dev->regmap, > miphy_phy->syscfg_reg[SYSCFG_STATUS], &val); > + if (ret) > + return ret; > > if ((val & MIPHY_OSC_RDY) != MIPHY_OSC_RDY) > cpu_relax(); >
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Thanks | |