summaryrefslogtreecommitdiff
path: root/drivers/clk/imx/clk-imx8qxp-lpcg.c
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2018-12-18 09:43:09 +0300
committerStephen Boyd <sboyd@kernel.org>2019-01-09 21:34:54 +0300
commit48504619a65977fb2a4c7182eab637867f1e6548 (patch)
treeb26d65a50a3b6f5924cde2482ab1cb3694b95a90 /drivers/clk/imx/clk-imx8qxp-lpcg.c
parentbfeffd155283772bbe78c6a05dec7c0128ee500c (diff)
downloadlinux-48504619a65977fb2a4c7182eab637867f1e6548.tar.xz
clk: imx: fix potential NULL dereference in imx8qxp_lpcg_clk_probe()
platform_get_resource() may fail and return NULL, so we should better check it's return value to avoid a NULL pointer dereference a bit later in the code. 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); Fixes: 1e3121bfe51a ("clk: imx: add imx8qxp lpcg driver") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Diffstat (limited to 'drivers/clk/imx/clk-imx8qxp-lpcg.c')
-rw-r--r--drivers/clk/imx/clk-imx8qxp-lpcg.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/clk/imx/clk-imx8qxp-lpcg.c b/drivers/clk/imx/clk-imx8qxp-lpcg.c
index 99c2508de8e5..fb6edf1b8aa2 100644
--- a/drivers/clk/imx/clk-imx8qxp-lpcg.c
+++ b/drivers/clk/imx/clk-imx8qxp-lpcg.c
@@ -169,6 +169,8 @@ static int imx8qxp_lpcg_clk_probe(struct platform_device *pdev)
return -ENODEV;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res)
+ return -EINVAL;
base = devm_ioremap(dev, res->start, resource_size(res));
if (!base)
return -ENOMEM;