clk: sunxi-ng: Make sure divider tables have sentinel
authorJernej Skrabec <jernej.skrabec@siol.net>
Wed, 2 Dec 2020 20:38:17 +0000 (21:38 +0100)
committerStephen Boyd <sboyd@kernel.org>
Sat, 19 Dec 2020 23:54:02 +0000 (15:54 -0800)
Two clock divider tables are missing sentinel at the end. Effect of that
is that clock framework reads past the last entry. Fix that with adding
sentinel at the end.

Issue was discovered with KASan.

Fixes: 0577e4853bfb ("clk: sunxi-ng: Add H3 clocks")
Fixes: c6a0637460c2 ("clk: sunxi-ng: Add A64 clocks")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Link: https://lore.kernel.org/r/20201202203817.438713-1-jernej.skrabec@siol.net
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/sunxi-ng/ccu-sun50i-a64.c
drivers/clk/sunxi-ng/ccu-sun8i-h3.c

index 5f66bf879772391f20406ff126bda3ebd615c0ba..149cfde817cba7f2479b6bcf4829f5c8fd09851f 100644 (file)
@@ -389,6 +389,7 @@ static struct clk_div_table ths_div_table[] = {
        { .val = 1, .div = 2 },
        { .val = 2, .div = 4 },
        { .val = 3, .div = 6 },
+       { /* Sentinel */ },
 };
 static const char * const ths_parents[] = { "osc24M" };
 static struct ccu_div ths_clk = {
index 6b636362379ee98604fee11f5b584b73d8384783..7e629a4493afde1be2053300dac1a9fb08cdd33c 100644 (file)
@@ -322,6 +322,7 @@ static struct clk_div_table ths_div_table[] = {
        { .val = 1, .div = 2 },
        { .val = 2, .div = 4 },
        { .val = 3, .div = 6 },
+       { /* Sentinel */ },
 };
 static SUNXI_CCU_DIV_TABLE_WITH_GATE(ths_clk, "ths", "osc24M",
                                     0x074, 0, 2, ths_div_table, BIT(31), 0);