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 5f66bf8..149cfde 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 6b63636..7e629a4 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);