Re: [PATCH] dma: imx-dma: fix signedness bug

From: Sascha Hauer
Date: Wed Oct 20 2010 - 02:35:53 EST


On Tue, Oct 19, 2010 at 03:26:05PM -0700, Dan Williams wrote:
> On Sun, Oct 17, 2010 at 7:51 AM, Vasiliy Kulikov <segooon@xxxxxxxxx> wrote:
> > mxdmac->channel was unsigned, so check (imxdmac->channel < 0) for
> > failed imx_dma_request_by_prio() made no sence.  Explicitly check
> > signed values.
> >
> > Signed-off-by: Vasiliy Kulikov <segooon@xxxxxxxxx>
> > ---
> >  drivers/dma/imx-dma.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c
> > index 346be62..75d870f 100644
> > --- a/drivers/dma/imx-dma.c
> > +++ b/drivers/dma/imx-dma.c
> > @@ -335,7 +335,7 @@ static int __init imxdma_probe(struct platform_device *pdev)
> >
> >                imxdmac->imxdma_channel = imx_dma_request_by_prio("dmaengine",
> >                                DMA_PRIO_MEDIUM);
> > -               if (imxdmac->channel < 0)
> > +               if ((int)imxdmac->channel < 0)
> >                        goto err_init;
>
> Should this be:
>
> if ((int)imxdmac->channel < 0) {
> ret = -ENODEV;
> goto err_init;
> }
>
> ...because I get the following in my compilation tests.

Yes, ret is clearly used uninitialized. I wonder why my gcc-4.3.2 compiler
does not warn me about this :(

Sascha

--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/