clk: s2mps11: Fix possible NULL pointer dereference
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Fri, 21 Mar 2014 12:18:17 +0000 (13:18 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:59:36 +0000 (07:59 -0700)
commit 238e14055da87d0d012257788e39fe0df3a82226 upstream.

If parent device does not have of_node set the s2mps11_clk_parse_dt()
returned NULL. This NULL was later passed to of_clk_add_provider() which
dereferenced it in pr_debug() call.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/clk/clk-s2mps11.c

index 00a3abe..27c83e4 100644 (file)
@@ -130,7 +130,7 @@ static struct device_node *s2mps11_clk_parse_dt(struct platform_device *pdev)
        int i;
 
        if (!iodev->dev->of_node)
-               return NULL;
+               return ERR_PTR(-EINVAL);
 
        clk_np = of_find_node_by_name(iodev->dev->of_node, "clocks");
        if (!clk_np) {