aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2018-03-25 00:40:48 +0100
committerLinus Walleij <linus.walleij@linaro.org>2018-03-27 15:42:29 +0200
commitf79b55d9b9e06547a9b9fad0d6948e1ce8d00865 (patch)
treefa35b486c9aee06fbb5d6365b8e8a6df11b977e2 /drivers/gpio
parentMerge branch 'gpio-reserved-ranges' into devel (diff)
downloadlinux-dev-f79b55d9b9e06547a9b9fad0d6948e1ce8d00865.tar.xz
linux-dev-f79b55d9b9e06547a9b9fad0d6948e1ce8d00865.zip
gpio: ath79: Fix potential NULL dereference in ath79_gpio_probe()
platform_get_resource() may return NULL, add proper check to avoid potential NULL dereferencing. This is detected by Coccinelle semantic patch. @@ expression pdev, res, n, t, e, e1, e2; @@ res = platform_get_resource(pdev, t, n); + if (!res) + return -EINVAL; ... when != res == NULL e = devm_ioremap(e1, res->start, e2); Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> [albeu@free.fr: Fixed patch to apply on current tree] Signed-off-by: Alban Bedel <albeu@free.fr> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-ath79.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-ath79.c b/drivers/gpio/gpio-ath79.c
index 3ae7c1876bf4..684e9d6d6623 100644
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -258,6 +258,8 @@ static int ath79_gpio_probe(struct platform_device *pdev)
}
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res)
+ return -EINVAL;
ctrl->base = devm_ioremap_nocache(
&pdev->dev, res->start, resource_size(res));
if (!ctrl->base)