clk: tegra: tegra124-emc: Fix potential memory leak
authorYuan Can <yuancan@huawei.com>
Fri, 9 Dec 2022 09:41:24 +0000 (09:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:30 +0000 (16:21 +0200)
[ Upstream commit 53a06e5924c0d43c11379a08c5a78529c3e61595 ]

The tegra and tegra needs to be freed in the error handling path, otherwise
it will be leaked.

Fixes: 2db04f16b589 ("clk: tegra: Add EMC clock driver")
Signed-off-by: Yuan Can <yuancan@huawei.com>
Link: https://lore.kernel.org/r/20221209094124.71043-1-yuancan@huawei.com
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/tegra/clk-tegra124-emc.c

index 219c806..2a6db04 100644 (file)
@@ -464,6 +464,7 @@ static int load_timings_from_dt(struct tegra_clk_emc *tegra,
                err = load_one_timing_from_dt(tegra, timing, child);
                if (err) {
                        of_node_put(child);
+                       kfree(tegra->timings);
                        return err;
                }
 
@@ -515,6 +516,7 @@ struct clk *tegra124_clk_register_emc(void __iomem *base, struct device_node *np
                err = load_timings_from_dt(tegra, node, node_ram_code);
                if (err) {
                        of_node_put(node);
+                       kfree(tegra);
                        return ERR_PTR(err);
                }
        }