Re: [PATCH] spi: pxa2xx: Add missed security checks

From: Chuhong Yuan
Date: Fri Oct 18 2019 - 06:39:36 EST


On Fri, Oct 18, 2019 at 5:35 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Fri, Oct 18, 2019 at 8:59 AM Chuhong Yuan <hslester96@xxxxxxxxx> wrote:
> >
> > pxa2xx_spi_init_pdata misses checks for devm_clk_get and
> > platform_get_irq.
> > Add checks for them to fix the bugs.
> >
> > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
> > ---
> > drivers/spi/spi-pxa2xx.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/spi/spi-pxa2xx.c b/drivers/spi/spi-pxa2xx.c
> > index bb6a14d1ab0f..2e73d75a6ac5 100644
> > --- a/drivers/spi/spi-pxa2xx.c
> > +++ b/drivers/spi/spi-pxa2xx.c
> > @@ -1565,7 +1565,13 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev)
> > #endif
> >
> > ssp->clk = devm_clk_get(&pdev->dev, NULL);
> > + if (IS_ERR(ssp->clk))
> > + return NULL;
> > +
> > ssp->irq = platform_get_irq(pdev, 0);
> > + if (ssp->irq < 0)
> > + return NULL;
>
> I'm not sure they are mandatory for all platforms.
> To be on the safe side, you simple need to add _optional() to the both
> call along with above change.
>

As I know, this is the only one in spi which does not have a check for
devm_clk_get.
Even if add _optional(), they still may return errors and need security checks.

> --
> With Best Regards,
> Andy Shevchenko