Message ID | 1383221036-26890-1-git-send-email-treding@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 10/31/13 05:03, Thierry Reding wrote: > A NULL pointer may be passed to _clk_register() for the dev parameter > (via clk_register()). Make sure not to dereference it before checking > that it's valid. > > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- Ugh I had this fixed but didn't send it. Acked-by: Stephen Boyd <sboyd@codeaurora.org> > drivers/clk/clk.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index b68a999..c0b52e3 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -1976,7 +1976,7 @@ static int _clk_register(struct device *dev, struct clk_hw *hw, struct clk *clk) > hw->regmap = hw->init->regmap; > else if (dev && dev_get_regmap(dev, NULL)) > hw->regmap = dev_get_regmap(dev, NULL); > - else if (dev->parent) > + else if (dev && dev->parent) > hw->regmap = dev_get_regmap(dev->parent, NULL); > > /* allocate local copy in case parent_names is __initdata */
Quoting Thierry Reding (2013-10-31 05:03:56) > A NULL pointer may be passed to _clk_register() for the dev parameter > (via clk_register()). Make sure not to dereference it before checking > that it's valid. > > Signed-off-by: Thierry Reding <treding@nvidia.com> Hi Thierry, I saw Olof's fix first so I took that and applied your Ack. Regards, Mike > --- > drivers/clk/clk.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index b68a999..c0b52e3 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -1976,7 +1976,7 @@ static int _clk_register(struct device *dev, struct clk_hw *hw, struct clk *clk) > hw->regmap = hw->init->regmap; > else if (dev && dev_get_regmap(dev, NULL)) > hw->regmap = dev_get_regmap(dev, NULL); > - else if (dev->parent) > + else if (dev && dev->parent) > hw->regmap = dev_get_regmap(dev->parent, NULL); > > /* allocate local copy in case parent_names is __initdata */ > -- > 1.8.4
On Thu, Oct 31, 2013 at 11:22:33AM -0700, Mike Turquette wrote: > Quoting Thierry Reding (2013-10-31 05:03:56) > > A NULL pointer may be passed to _clk_register() for the dev parameter > > (via clk_register()). Make sure not to dereference it before checking > > that it's valid. > > > > Signed-off-by: Thierry Reding <treding@nvidia.com> > > Hi Thierry, > > I saw Olof's fix first so I took that and applied your Ack. Perhaps we need a new kind of tag. Something like Also-by: =) Thierry
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index b68a999..c0b52e3 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1976,7 +1976,7 @@ static int _clk_register(struct device *dev, struct clk_hw *hw, struct clk *clk) hw->regmap = hw->init->regmap; else if (dev && dev_get_regmap(dev, NULL)) hw->regmap = dev_get_regmap(dev, NULL); - else if (dev->parent) + else if (dev && dev->parent) hw->regmap = dev_get_regmap(dev->parent, NULL); /* allocate local copy in case parent_names is __initdata */
A NULL pointer may be passed to _clk_register() for the dev parameter (via clk_register()). Make sure not to dereference it before checking that it's valid. Signed-off-by: Thierry Reding <treding@nvidia.com> --- drivers/clk/clk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)