dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced
authorColin Ian King <colin.king@canonical.com>
Thu, 9 Jan 2020 13:19:53 +0000 (13:19 +0000)
committerTony Lindgren <tony@atomide.com>
Mon, 13 Jan 2020 17:36:45 +0000 (09:36 -0800)
Currently when the call to dev_get_platdata returns null the driver issues
a warning and then later dereferences the null pointer.  Avoid this issue
by returning -ENODEV error rather when the platform data is null and
change the warning to an appropriate error message.

Addresses-Coverity: ("Dereference after null check")
Fixes: 211010aeb097 ("dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use it")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/dma/ti/omap-dma.c

index fc8f7b2..a014ab9 100644 (file)
@@ -1658,8 +1658,10 @@ static int omap_dma_probe(struct platform_device *pdev)
        if (conf) {
                od->cfg = conf;
                od->plat = dev_get_platdata(&pdev->dev);
-               if (!od->plat)
-                       dev_warn(&pdev->dev, "no sdma auxdata needed?\n");
+               if (!od->plat) {
+                       dev_err(&pdev->dev, "omap_system_dma_plat_info is missing");
+                       return -ENODEV;
+               }
        } else {
                od->cfg = &default_cfg;