RE: [PATCH v8 3/3] remoteproc: qcom: q6v5_wpss: Add support for sc7280 WPSS

From: Stephen Boyd
Date: Wed Nov 17 2021 - 01:39:45 EST


Quoting Rakesh Pillai (2021-11-16 22:31:51)
>
>
> > -----Original Message-----
> > From: Stephen Boyd <swboyd@xxxxxxxxxxxx>
> > Sent: Wednesday, November 17, 2021 4:25 AM
> > To: Rakesh Pillai <pillair@xxxxxxxxxxxxxx>; agross@xxxxxxxxxx;
> > bjorn.andersson@xxxxxxxxxx; mathieu.poirier@xxxxxxxxxx; ohad@xxxxxxxxxx;
> > p.zabel@xxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx
> > Cc: linux-arm-msm@xxxxxxxxxxxxxxx; linux-remoteproc@xxxxxxxxxxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > sibis@xxxxxxxxxxxxxx; mpubbise@xxxxxxxxxxxxxx; kuabhs@xxxxxxxxxxxx
> > Subject: Re: [PATCH v8 3/3] remoteproc: qcom: q6v5_wpss: Add support for
> > sc7280 WPSS
> >
> > Quoting Rakesh Pillai (2021-11-02 06:44:33)
> > > @@ -457,7 +608,13 @@ static int adsp_probe(struct platform_device
> > *pdev)
> > > if (ret)
> > > goto free_rproc;
> > >
> > > - pm_runtime_enable(adsp->dev);
> > > + ret = qcom_rproc_pds_attach(adsp->dev, adsp->proxy_pds,
> > > + desc->proxy_pd_names);
> > > + if (ret < 0) {
> > > + dev_err(&pdev->dev, "Failed to attach proxy power domains\n");
> > > + goto free_rproc;
> > > + }
> > > + adsp->proxy_pd_count = ret;
> >
> > Can we check this against the define so that we don't have more than the
> > fixed number of power domains and try to access elements beyond the
> > length of the array?
>
> The number of entries populated in the "proxy_pds" array depends on the "desc->proxy_pd_names", which is statically
> initialized for each remoteproc. Hence there will not be any out of bound access for this array.
>

Sure nothing is wrong today but it's a potential problem in the future
if someone adds more elements to proxy_pd_names than proxy_pds can hold.
Please prevent that from happening by writing stricter code.