[PATCH v3] ARM: imx: fix error handling in ipu device registration
Dan Carpenter
dan.carpenter at oracle.com
Sat May 17 15:53:39 PDT 2014
On Sat, May 17, 2014 at 11:35:55PM +0100, Russell King - ARM Linux wrote:
> On Sun, May 18, 2014 at 01:08:36AM +0300, Dan Carpenter wrote:
> > Let's look at that error handling again.
> >
> > err: <-- the name is not descriptive. the location is bad.
> > kfree(pdev->dev.dma_mask); <- null dereference.
> > platform_device_put(pdev); <- ok
> > return ERR_PTR(-ENODEV); <- should be "return ERR_PTR(ret);"
> >
> > 3 out of 4 of the lines are bad.
>
> 2 out of 4. kfree(NULL) is perfectly legal.
pdev was NULL though...
The bug is *caused* by trying to use the same "err" label to do all
error handling. This is a very common anti-patern, but if you follow
canonical kernel style then your error handling is less buggy.
regards,
dan carpenter
More information about the linux-arm-kernel
mailing list