[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170710142653.Horde.xPW2YI8hhsgtwvWq3L181cm@gator4166.hostgator.com>
Date: Mon, 10 Jul 2017 14:26:53 -0500
From: "Gustavo A. R. Silva" <garsilva@...eddedor.com>
To: Thierry Reding <thierry.reding@...il.com>
Cc: Chen-Yu Tsai <wens@...e.org>,
Maxime Ripard <maxime.ripard@...e-electrons.com>,
linux-pwm@...r.kernel.org,
linux-kernel <linux-kernel@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] pwm: sun4i: add NULL check on of_match_device() return
value
Hi all,
Quoting Thierry Reding <thierry.reding@...il.com>:
> On Fri, Jul 07, 2017 at 03:16:23PM +0800, Chen-Yu Tsai wrote:
>> On Fri, Jul 7, 2017 at 2:39 PM, Gustavo A. R. Silva
>> <garsilva@...eddedor.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@...eddedor.com>
>> > ---
>> > drivers/pwm/pwm-sun4i.c | 4 ++++
>> > 1 file changed, 4 insertions(+)
>> >
>> > diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c
>> > index 1284ffa..295ca19 100644
>> > --- a/drivers/pwm/pwm-sun4i.c
>> > +++ b/drivers/pwm/pwm-sun4i.c
>> > @@ -321,6 +321,10 @@ static int sun4i_pwm_probe(struct
>> platform_device *pdev)
>> > const struct of_device_id *match;
>> >
>> > match = of_match_device(sun4i_pwm_dt_ids, &pdev->dev);
>>
>> AFAIK this simply can not and should not fail with a device tree
>> only driver with properly populated of_device_id tables.
>
> Technically this could happen if someone manually created the platform
> device. In that case the core will try to match by name if there is no
> device node to use for a match against the list of of_device_ids.
>
> In my opinion it's best to let things crash in this situation to make
> it really obvious that people have done something wrong.
>
I get it.
Thanks for clarifying.
--
Gustavo A. R. Silva
Powered by blists - more mailing lists