clk: qcom: Allocate space for NULL terimation in DFS table
authorDouglas Anderson <dianders@chromium.org>
Thu, 30 Aug 2018 17:34:37 +0000 (10:34 -0700)
committerStephen Boyd <sboyd@kernel.org>
Thu, 30 Aug 2018 21:59:39 +0000 (14:59 -0700)
The table allocated in clk_rcg2_dfs_populate_freq_table() is
eventually iterated over by qcom_find_freq() which assumes that the
table is NULL terminated.  Allocate one extra space in the array for
the NULL termination.  Initting of the NULL termination is implicit
due to kcalloc().

Fixes: cc4f6944d0e3 ("clk: qcom: Add support for RCG to register for DFS")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/qcom/clk-rcg2.c

index d5d77f9..6e3bd19 100644 (file)
@@ -993,7 +993,8 @@ static int clk_rcg2_dfs_populate_freq_table(struct clk_rcg2 *rcg)
        struct freq_tbl *freq_tbl;
        int i;
 
-       freq_tbl = kcalloc(MAX_PERF_LEVEL, sizeof(*freq_tbl), GFP_KERNEL);
+       /* Allocate space for 1 extra since table is NULL terminated */
+       freq_tbl = kcalloc(MAX_PERF_LEVEL + 1, sizeof(*freq_tbl), GFP_KERNEL);
        if (!freq_tbl)
                return -ENOMEM;
        rcg->freq_tbl = freq_tbl;