Commit 7d36b9c1 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Stephen Boyd

clk: uniphier: fix memory overrun bug

The first loop of this "for" statement writes memory beyond the
allocated clk_hw_onecell_data.

It should be:
    for (clk_num--; clk_num >= 0; clk_num--)
            ...

Or more simply:
    while (--clk_num >= 0)
            ...

Fixes: 734d82f4 ("clk: uniphier: add core support code for UniPhier clock driver")
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
parent d3397484
...@@ -79,7 +79,7 @@ static int uniphier_clk_probe(struct platform_device *pdev) ...@@ -79,7 +79,7 @@ static int uniphier_clk_probe(struct platform_device *pdev)
hw_data->num = clk_num; hw_data->num = clk_num;
/* avoid returning NULL for unused idx */ /* avoid returning NULL for unused idx */
for (; clk_num >= 0; clk_num--) while (--clk_num >= 0)
hw_data->hws[clk_num] = ERR_PTR(-EINVAL); hw_data->hws[clk_num] = ERR_PTR(-EINVAL);
for (p = data; p->name; p++) { for (p = data; p->name; p++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment