[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