]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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>
Thu, 27 Jul 2023 06:37:15 +0000 (08:37 +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-emc.c

index 0c1b83bedb73d3095fd274d47f7330a2778b589c..eb2411a4cd783ad99b2e5dfde308dadcb3358bab 100644 (file)
@@ -459,6 +459,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;
                }
 
@@ -510,6 +511,7 @@ struct clk *tegra_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);
                }
        }