On Wed, May 11, 2011 at 5:57 AM, Rajendra Nayak <rna...@ti.com> wrote: > Quite often in the kernel, there are instances of clk_get calls > being made with a NULL struct device pointer being passed. > Not checking for such cases could lead to a NULL pointer > dereference. > > Signed-off-by: Rajendra Nayak <rna...@ti.com>
Thanks Rajendra, I've already got a fix for this in my devicetree/test branch. g. > --- > based on git://git.secretlab.ca/git/linux-2.6 devicetree/test > > drivers/of/clock.c | 5 +++-- > 1 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/of/clock.c b/drivers/of/clock.c > index a49f79f..cbca319 100644 > --- a/drivers/of/clock.c > +++ b/drivers/of/clock.c > @@ -91,7 +91,7 @@ static struct clk *__of_clk_get_from_provider(struct > device_node *np, const char > > struct clk *of_clk_get(struct device *dev, const char *id) > { > - struct device_node *provnode; > + struct device_node *provnode, *of_node; > u32 provhandle; > int sz; > struct clk *clk; > @@ -103,7 +103,8 @@ struct clk *of_clk_get(struct device *dev, const char *id) > dev_dbg(dev, "Looking up %s-clock from device tree\n", id); > > snprintf(prop_name, 32, "%s-clock", id ? id : "bus"); > - prop = of_get_property(dev->of_node, prop_name, &sz); > + of_node = dev ? dev->of_node : NULL; > + prop = of_get_property(of_node, prop_name, &sz); > if (!prop || sz < 4) > return NULL; > > -- > 1.7.0.4 > > -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev