Message ID | 20220826014511.2270433-1-yangyingliang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [-next,1/3] remoteproc: qcom: wcss: check return value after calling platform_get_resource_byname() | expand |
On 8/26/2022 7:15 AM, Yang Yingliang wrote: > If platform_get_resource_byname() fails, 'res' will be set to null pointer, > it will cause null-ptr-deref when it used in devm_ioremap(), so we need check > the return value. > > Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404") > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> > --- > drivers/remoteproc/qcom_q6v5_wcss.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c > index bb0947f7770e..017ee225dc32 100644 > --- a/drivers/remoteproc/qcom_q6v5_wcss.c > +++ b/drivers/remoteproc/qcom_q6v5_wcss.c > @@ -827,6 +827,8 @@ 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; LGTM. Reviewed-by:Mukesh Ojha <quic_mojha@quicinc.com> -Mukesh > wcss->reg_base = devm_ioremap(&pdev->dev, res->start, > resource_size(res)); > if (!wcss->reg_base)
Hi, Are these patches good for merge or any more suggestion ? Thanks, Yang On 2022/8/26 13:33, Mukesh Ojha wrote: > > > On 8/26/2022 7:15 AM, Yang Yingliang wrote: >> If platform_get_resource_byname() fails, 'res' will be set to null >> pointer, >> it will cause null-ptr-deref when it used in devm_ioremap(), so we >> need check >> the return value. >> >> Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 >> support for QCS404") >> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> >> --- >> drivers/remoteproc/qcom_q6v5_wcss.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c >> b/drivers/remoteproc/qcom_q6v5_wcss.c >> index bb0947f7770e..017ee225dc32 100644 >> --- a/drivers/remoteproc/qcom_q6v5_wcss.c >> +++ b/drivers/remoteproc/qcom_q6v5_wcss.c >> @@ -827,6 +827,8 @@ 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; > > LGTM. > > Reviewed-by:Mukesh Ojha <quic_mojha@quicinc.com> > > -Mukesh > >> wcss->reg_base = devm_ioremap(&pdev->dev, res->start, >> resource_size(res)); >> if (!wcss->reg_base) > .
diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c index bb0947f7770e..017ee225dc32 100644 --- a/drivers/remoteproc/qcom_q6v5_wcss.c +++ b/drivers/remoteproc/qcom_q6v5_wcss.c @@ -827,6 +827,8 @@ 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)
If platform_get_resource_byname() fails, 'res' will be set to null pointer, it will cause null-ptr-deref when it used in devm_ioremap(), so we need check the return value. Fixes: 0af65b9b915e ("remoteproc: qcom: wcss: Add non pas wcss Q6 support for QCS404") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- drivers/remoteproc/qcom_q6v5_wcss.c | 2 ++ 1 file changed, 2 insertions(+)