Message ID | 20210602073851.1005607-1-sudeep.holla@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND,1/2] firmware: arm_scpi: Add compatibility checks for shmem node | expand |
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com> Tested-by: Cristian Marussi <cristian.marussi@arm.com> Cristian On Wed, Jun 02, 2021 at 08:38:50AM +0100, Sudeep Holla wrote: > The shared memory node used for communication between the firmware and > the OS should be compatible with one of the following: > - amlogic,meson-gxbb-scp-shmem > - amlogic,meson-axg-scp-shmem > - arm,juno-scp-shmem > - arm,scp-shmem > Add the check for the same while parsing the node before fetching the memory > regions. > > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Kevin Hilman <khilman@baylibre.com> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Jerome Brunet <jbrunet@baylibre.com> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > drivers/firmware/arm_scpi.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c > index d0dee37ad522..7b827258e163 100644 > --- a/drivers/firmware/arm_scpi.c > +++ b/drivers/firmware/arm_scpi.c > @@ -897,6 +897,13 @@ static const struct of_device_id legacy_scpi_of_match[] = { > {}, > }; > > +static const struct of_device_id shmem_of_match[] = { > + { .compatible = "amlogic,meson-gxbb-scp-shmem", }, > + { .compatible = "amlogic,meson-axg-scp-shmem", }, > + { .compatible = "arm,juno-scp-shmem", }, > + { .compatible = "arm,scp-shmem", }, > + { } > +}; > static int scpi_probe(struct platform_device *pdev) > { > int count, idx, ret; > @@ -933,6 +940,9 @@ static int scpi_probe(struct platform_device *pdev) > struct mbox_client *cl = &pchan->cl; > struct device_node *shmem = of_parse_phandle(np, "shmem", idx); > > + if (!of_match_node(shmem_of_match, shmem)) > + return -ENXIO; > + > ret = of_address_to_resource(shmem, 0, &res); > of_node_put(shmem); > if (ret) { > -- > 2.25.1 >
On Wed, 2 Jun 2021 08:38:50 +0100, Sudeep Holla wrote: > The shared memory node used for communication between the firmware and > the OS should be compatible with one of the following: > - amlogic,meson-gxbb-scp-shmem > - amlogic,meson-axg-scp-shmem > - arm,juno-scp-shmem > - arm,scp-shmem > Add the check for the same while parsing the node before fetching the memory > regions. Applied to sudeep.holla/linux (for-next/scmi), thanks! [1/2] firmware: arm_scpi: Add compatibility checks for shmem node https://git.kernel.org/sudeep.holla/c/ed7ecb8839 [2/2] firmware: arm_scmi: Add compatibility checks for shmem node https://git.kernel.org/sudeep.holla/c/6bf7661d68 -- Regards, Sudeep
diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c index d0dee37ad522..7b827258e163 100644 --- a/drivers/firmware/arm_scpi.c +++ b/drivers/firmware/arm_scpi.c @@ -897,6 +897,13 @@ static const struct of_device_id legacy_scpi_of_match[] = { {}, }; +static const struct of_device_id shmem_of_match[] = { + { .compatible = "amlogic,meson-gxbb-scp-shmem", }, + { .compatible = "amlogic,meson-axg-scp-shmem", }, + { .compatible = "arm,juno-scp-shmem", }, + { .compatible = "arm,scp-shmem", }, + { } +}; static int scpi_probe(struct platform_device *pdev) { int count, idx, ret; @@ -933,6 +940,9 @@ static int scpi_probe(struct platform_device *pdev) struct mbox_client *cl = &pchan->cl; struct device_node *shmem = of_parse_phandle(np, "shmem", idx); + if (!of_match_node(shmem_of_match, shmem)) + return -ENXIO; + ret = of_address_to_resource(shmem, 0, &res); of_node_put(shmem); if (ret) {
The shared memory node used for communication between the firmware and the OS should be compatible with one of the following: - amlogic,meson-gxbb-scp-shmem - amlogic,meson-axg-scp-shmem - arm,juno-scp-shmem - arm,scp-shmem Add the check for the same while parsing the node before fetching the memory regions. Cc: Rob Herring <robh+dt@kernel.org> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> --- drivers/firmware/arm_scpi.c | 10 ++++++++++ 1 file changed, 10 insertions(+)