OSDN Git Service

spi: pxa2xx: Add missed security checks
authorChuhong Yuan <hslester96@gmail.com>
Sat, 9 Nov 2019 08:09:43 +0000 (16:09 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Jan 2020 12:34:16 +0000 (13:34 +0100)
[ Upstream commit 5eb263ef08b5014cfc2539a838f39d2fd3531423 ]

pxa2xx_spi_init_pdata misses checks for devm_clk_get and
platform_get_irq.
Add checks for them to fix the bugs.

Since ssp->clk and ssp->irq are used in probe, they are mandatory here.
So we cannot use _optional() for devm_clk_get and platform_get_irq.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Link: https://lore.kernel.org/r/20191109080943.30428-1-hslester96@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/spi/spi-pxa2xx.c

index 193aa3d..96ed01c 100644 (file)
@@ -1425,7 +1425,13 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev)
        }
 
        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;
+
        ssp->type = type;
        ssp->pdev = pdev;
        ssp->port_id = pxa2xx_spi_get_port_id(adev);