Message ID | 20170707064630.GA21945@embeddedgus (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva <garsilva@embeddedor.com> wrote: > Check return value from call to of_match_device() > in order to prevent a NULL pointer dereference. > > In case of NULL print error message and return -ENODEV > > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> thanks for finding this. a crash here is a rather theoretical problem (since all compatible strings have their corresponding match data) - but it doesn't hurt either, so: Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > --- > drivers/iio/adc/meson_saradc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c > index 83da50e..07dbcc3 100644 > --- a/drivers/iio/adc/meson_saradc.c > +++ b/drivers/iio/adc/meson_saradc.c > @@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct platform_device *pdev) > init_completion(&priv->done); > > match = of_match_device(meson_sar_adc_of_match, &pdev->dev); > + if (!match) { > + dev_err(&pdev->dev, "failed to match device\n"); > + return -ENODEV; > + } > + > priv->data = match->data; > > indio_dev->name = priv->data->name; > -- > 2.5.0 > > > _______________________________________________ > linux-amlogic mailing list > linux-amlogic@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-amlogic
On Sat, 8 Jul 2017 15:42:46 +0200 Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote: > On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva > <garsilva@embeddedor.com> wrote: > > Check return value from call to of_match_device() > > in order to prevent a NULL pointer dereference. > > > > In case of NULL print error message and return -ENODEV > > > > Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> > thanks for finding this. a crash here is a rather theoretical problem > (since all compatible strings have their corresponding match data) - > but it doesn't hurt either, so: > > Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Applied. Jonathan > > > > --- > > drivers/iio/adc/meson_saradc.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c > > index 83da50e..07dbcc3 100644 > > --- a/drivers/iio/adc/meson_saradc.c > > +++ b/drivers/iio/adc/meson_saradc.c > > @@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct platform_device *pdev) > > init_completion(&priv->done); > > > > match = of_match_device(meson_sar_adc_of_match, &pdev->dev); > > + if (!match) { > > + dev_err(&pdev->dev, "failed to match device\n"); > > + return -ENODEV; > > + } > > + > > priv->data = match->data; > > > > indio_dev->name = priv->data->name; > > -- > > 2.5.0 > > > > > > _______________________________________________ > > linux-amlogic mailing list > > linux-amlogic@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-amlogic > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Martin, Quoting Martin Blumenstingl <martin.blumenstingl@googlemail.com>: > On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva > <garsilva@embeddedor.com> wrote: >> Check return value from call to of_match_device() >> in order to prevent a NULL pointer dereference. >> >> In case of NULL print error message and return -ENODEV >> >> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> > thanks for finding this. a crash here is a rather theoretical problem > (since all compatible strings have their corresponding match data) - > but it doesn't hurt either, so: > I get it, glad to help. :) > Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > > >> --- >> drivers/iio/adc/meson_saradc.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c >> index 83da50e..07dbcc3 100644 >> --- a/drivers/iio/adc/meson_saradc.c >> +++ b/drivers/iio/adc/meson_saradc.c >> @@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct >> platform_device *pdev) >> init_completion(&priv->done); >> >> match = of_match_device(meson_sar_adc_of_match, &pdev->dev); >> + if (!match) { >> + dev_err(&pdev->dev, "failed to match device\n"); >> + return -ENODEV; >> + } >> + >> priv->data = match->data; >> >> indio_dev->name = priv->data->name; >> -- >> 2.5.0 >> >> >> _______________________________________________ >> linux-amlogic mailing list >> linux-amlogic@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-amlogic -- Gustavo A. R. Silva
On 07/09/2017 01:08 PM, Jonathan Cameron wrote: > On Sat, 8 Jul 2017 15:42:46 +0200 > Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote: > >> On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva >> <garsilva@embeddedor.com> wrote: >>> Check return value from call to of_match_device() >>> in order to prevent a NULL pointer dereference. >>> >>> In case of NULL print error message and return -ENODEV >>> >>> Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> >> thanks for finding this. a crash here is a rather theoretical problem >> (since all compatible strings have their corresponding match data) - >> but it doesn't hurt either, so: >> >> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> > Applied. > Thank you, Jonathan. > Jonathan >> >> >>> --- >>> drivers/iio/adc/meson_saradc.c | 5 +++++ >>> 1 file changed, 5 insertions(+) >>> >>> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c >>> index 83da50e..07dbcc3 100644 >>> --- a/drivers/iio/adc/meson_saradc.c >>> +++ b/drivers/iio/adc/meson_saradc.c >>> @@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct platform_device *pdev) >>> init_completion(&priv->done); >>> >>> match = of_match_device(meson_sar_adc_of_match, &pdev->dev); >>> + if (!match) { >>> + dev_err(&pdev->dev, "failed to match device\n"); >>> + return -ENODEV; >>> + } >>> + >>> priv->data = match->data; >>> >>> indio_dev->name = priv->data->name; >>> -- >>> 2.5.0 >>> >>> >>> _______________________________________________ >>> linux-amlogic mailing list >>> linux-amlogic@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-amlogic >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-iio" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >
diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c index 83da50e..07dbcc3 100644 --- a/drivers/iio/adc/meson_saradc.c +++ b/drivers/iio/adc/meson_saradc.c @@ -915,6 +915,11 @@ static int meson_sar_adc_probe(struct platform_device *pdev) init_completion(&priv->done); match = of_match_device(meson_sar_adc_of_match, &pdev->dev); + if (!match) { + dev_err(&pdev->dev, "failed to match device\n"); + return -ENODEV; + } + priv->data = match->data; indio_dev->name = priv->data->name;
Check return value from call to of_match_device() in order to prevent a NULL pointer dereference. In case of NULL print error message and return -ENODEV Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com> --- drivers/iio/adc/meson_saradc.c | 5 +++++ 1 file changed, 5 insertions(+)