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

Gustavo A. R. Silva garsilva at embeddedor.com
Mon Jul 10 12:40:25 PDT 2017


Hi Martin,

Quoting Martin Blumenstingl <martin.blumenstingl at googlemail.com>:

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

--
Gustavo A. R. Silva








More information about the linux-arm-kernel mailing list