diff options
author | Shang XiaoJing <shangxiaojing@huawei.com> | 2022-11-25 05:16:41 +0300 |
---|---|---|
committer | Bjorn Andersson <andersson@kernel.org> | 2022-12-07 07:10:12 +0300 |
commit | f360e2b275efbb745ba0af8b47d9ef44221be586 (patch) | |
tree | 0b483d36c108afe826082a9ffffd4d38a41d0d6d /drivers/remoteproc/qcom_q6v5_wcss.c | |
parent | e01ce676aaef3b13d02343d7e70f9637d93a3367 (diff) | |
download | linux-f360e2b275efbb745ba0af8b47d9ef44221be586.tar.xz |
remoteproc: qcom: q6v5: Fix potential null-ptr-deref in q6v5_wcss_init_mmio()
q6v5_wcss_init_mmio() will call platform_get_resource_byname() that may
fail and return NULL. devm_ioremap() will use res->start as input, which
may causes null-ptr-deref. Check the ret value of
platform_get_resource_byname() to avoid the null-ptr-deref.
Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404")
Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221125021641.29392-1-shangxiaojing@huawei.com
Diffstat (limited to 'drivers/remoteproc/qcom_q6v5_wcss.c')
-rw-r--r-- | drivers/remoteproc/qcom_q6v5_wcss.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c index bb0947f7770e..de232337e082 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -827,6 +827,9 @@ static int q6v5_wcss_init_mmio(struct q6v5_wcss *wcss, int ret; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "qdsp6"); + if (!res) + return -EINVAL; + wcss->reg_base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); if (!wcss->reg_base) |