]> git.baikalelectronics.ru Git - kernel.git/commit
clk: visconti: prevent array overflow in visconti_clk_register_gates()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 16 Mar 2022 08:35:33 +0000 (11:35 +0300)
committerStephen Boyd <sboyd@kernel.org>
Thu, 17 Mar 2022 19:21:28 +0000 (12:21 -0700)
commitfa4e6917a6a159e4038cf93989d552f789afcc48
treef843def20384524c009457bf8aaea0190ad243a0
parent6e424e6bafec35e47db4b693fe41eff065b7dbf6
clk: visconti: prevent array overflow in visconti_clk_register_gates()

This code was using -1 to represent that there was no reset function.
Unfortunately, the -1 was stored in u8 so the if (clks[i].rs_id >= 0)
condition was always true.  This lead to an out of bounds access in
visconti_clk_register_gates().

Fixes: 82101a663476 ("clk: visconti: Add support common clock driver and reset driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220316083533.GA30941@kili
Acked-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/visconti/clkc-tmpv770x.c
drivers/clk/visconti/clkc.c
drivers/clk/visconti/clkc.h