lkml.org 
[lkml]   [2022]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH V2] clk: renesas: Fix memory leak of 'cpg'
    Hi Haowen,

    On Wed, Apr 13, 2022 at 11:24 AM baihaowen <baihaowen@meizu.com> wrote:
    > 在 4/13/22 4:41 PM, Geert Uytterhoeven 写道:
    > > On Wed, Apr 13, 2022 at 10:30 AM Haowen Bai <baihaowen@meizu.com> wrote:
    > >> Fix this issue by freeing the cpg when exiting the function in the
    > >> error/normal path.
    > >>
    > >> Signed-off-by: Haowen Bai <baihaowen@meizu.com>
    > > Thanks for your patch!
    > >
    > >> --- a/drivers/clk/renesas/clk-r8a73a4.c
    > >> +++ b/drivers/clk/renesas/clk-r8a73a4.c
    > >> @@ -215,7 +215,7 @@ static void __init r8a73a4_cpg_clocks_init(struct device_node *np)
    > >>
    > >> cpg->reg = of_iomap(np, 0);
    > >> if (WARN_ON(cpg->reg == NULL))
    > >> - return;
    > >> + goto out_free_cpg;
    > > Note that this is a fatal error, i.e. no chance the system will survive this,
    > > so cleaning up is moot.
    > >
    > >> for (i = 0; i < num_clks; ++i) {
    > >> const char *name;
    > >> @@ -233,6 +233,9 @@ static void __init r8a73a4_cpg_clocks_init(struct device_node *np)
    > >> }
    > >>
    > >> of_clk_add_provider(np, of_clk_src_onecell_get, &cpg->data);
    > >> +out_free_cpg:
    > >> + kfree(cpg);
    > >> + kfree(clks);
    > > Both cpg and clks are still used after returning from this function,
    > > through the registered clocks and clock provider.
    > >
    > >> }
    > >> CLK_OF_DECLARE(r8a73a4_cpg_clks, "renesas,r8a73a4-cpg-clocks",
    > >> r8a73a4_cpg_clocks_init);
    > > NAKed-by: Geert Uytterhoeven <geert+renesas@glider.be>

    > Could you show me how and when cpg & clks free ?

    They are never freed, as they stay in-use for the lifetime of the system.

    Gr{oetje,eeting}s,

    Geert

    --
    Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds

    \
     
     \ /
      Last update: 2022-04-13 12:41    [W:4.192 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site