Re: [PATCH v2 1/2] clk: Add of_clk_get_by_name_optional() function

From: Andy Shevchenko
Date: Mon Jul 30 2018 - 06:57:18 EST


On Mon, 2018-07-30 at 10:55 +0200, Geert Uytterhoeven wrote:
> On Mon, Jul 30, 2018 at 10:36 AM Phil Edworthy
> <phil.edworthy@xxxxxxxxxxx> wrote:

> > +struct clk *of_clk_get_by_name_optional(struct device_node *np,
> > + const char *name)
> > +{
> > + if (!np)
> > + return ERR_PTR(-ENOENT);
>
> Shouldn't this return NULL?
> Or let __of_clk_get_by_name() handle that (cfr. above)?
>
> Hmm, of_clk_get_by_name() has a similar check, while the current
> __of_clk_get_by_name() already handle np == NULL, too.

This check is needed to prevent NULL pointer dereference below.

And I agree that absence of device node should be considered as okay
case for optional clock (!CONFIG_OF case, for example).

> > +
> > + return __of_clk_get_by_name(np, np->full_name, name, true);
> > +}

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy