clk: tegra: Fix double-free in tegra_clk_init()
authorDmitry Osipenko <digetx@gmail.com>
Tue, 10 Dec 2019 02:05:12 +0000 (05:05 +0300)
committerStephen Boyd <sboyd@kernel.org>
Tue, 24 Dec 2019 08:01:06 +0000 (00:01 -0800)
It's unlikely to happen in practice ever, but makes static checkers happy.

Fixes: 535f296d47de ("clk: tegra: Add suspend and resume support on Tegra210")
Reported-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lkml.kernel.org/r/20191210020512.6088-1-digetx@gmail.com
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/tegra/clk.c

index e6bd6d1ea0128525f76fb4b07f12e7a31054f133..f6cdce441cf7ac4e45eb9bb26576187c47d546e1 100644 (file)
@@ -231,8 +231,10 @@ struct clk ** __init tegra_clk_init(void __iomem *regs, int num, int banks)
        periph_banks = banks;
 
        clks = kcalloc(num, sizeof(struct clk *), GFP_KERNEL);
-       if (!clks)
+       if (!clks) {
                kfree(periph_clk_enb_refcnt);
+               return NULL;
+       }
 
        clk_num = num;