2017-07-07 06:46:35

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] iio: adc: meson-saradc: add NULL check on of_match_device() return value

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 <[email protected]>
---
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


2017-07-08 13:43:10

by Martin Blumenstingl

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: meson-saradc: add NULL check on of_match_device() return value

On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva
<[email protected]> 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 <[email protected]>
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 <[email protected]>


> ---
> 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
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-amlogic

2017-07-09 18:08:50

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: meson-saradc: add NULL check on of_match_device() return value

On Sat, 8 Jul 2017 15:42:46 +0200
Martin Blumenstingl <[email protected]> wrote:

> On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva
> <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
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
> > [email protected]
> > 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 [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html

2017-07-10 19:40:30

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: meson-saradc: add NULL check on of_match_device() return value

Hi Martin,

Quoting Martin Blumenstingl <[email protected]>:

> On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva
> <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
>
>
>> ---
>> 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
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-amlogic

--
Gustavo A. R. Silva





2017-07-17 04:56:20

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: meson-saradc: add NULL check on of_match_device() return value



On 07/09/2017 01:08 PM, Jonathan Cameron wrote:
> On Sat, 8 Jul 2017 15:42:46 +0200
> Martin Blumenstingl <[email protected]> wrote:
>
>> On Fri, Jul 7, 2017 at 8:46 AM, Gustavo A. R. Silva
>> <[email protected]> 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 <[email protected]>
>> 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 <[email protected]>
> 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
>>> [email protected]
>>> 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 [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

--
Gustavo A. R. Silva