ARM: imx: fix error handling in ipu device registration
authorEmil Goode <emilgoode@gmail.com>
Mon, 19 May 2014 07:07:54 +0000 (15:07 +0800)
committerJiri Slaby <jslaby@suse.cz>
Fri, 20 Jun 2014 15:33:57 +0000 (17:33 +0200)
commit d1d70e5dc2cfa9047bb935c41ba808ebb8135696 upstream.

If we fail to allocate struct platform_device pdev we
dereference it after the goto label err.

This bug was found using coccinelle.

Fixes: afa77ef (ARM: mx3: dynamically allocate "ipu-core" devices)
Signed-off-by: Emil Goode <emilgoode@gmail.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/arm/mach-imx/devices/platform-ipu-core.c

index fc4dd7cedc1189019dea590e8a4caa6b0ebf6884..6bd7c3f37ac08e139118e48f200a075cb9fbac8b 100644 (file)
@@ -77,7 +77,7 @@ struct platform_device *__init imx_alloc_mx3_camera(
 
        pdev = platform_device_alloc("mx3-camera", 0);
        if (!pdev)
-               goto err;
+               return ERR_PTR(-ENOMEM);
 
        pdev->dev.dma_mask = kmalloc(sizeof(*pdev->dev.dma_mask), GFP_KERNEL);
        if (!pdev->dev.dma_mask)