[PATCH 3.12 114/182] clk: s2mps11: Fix possible NULL pointer dereference

Jiri Slaby
2014-05-13T09:34:14Z

From: Krzysztof Kozlowski <k.kozlowski@samsung.com>

3.12-stable review patch. If anyone has any objections, please let me know.

===============

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: Jiri Slaby <jslaby@suse.cz>
---
drivers/clk/clk-s2mps11.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 7be41e676a64..aa21299ec7d2 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -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) {
--
1.9.3