lkml.org 
[lkml]   [2020]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Re: [PATCH] rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
On 26/08/2020 16:55:14+0800, dinghao.liu@zju.edu.cn wrote:
> > On Sun, Aug 23, 2020 at 3:59 PM Dinghao Liu <dinghao.liu@zju.edu.cn> wrote:
> > >
> > > When clk_hw_register_fixed_rate_with_accuracy() fails,
> > > clk_data should be freed. It's the same for the subsequent
> > > error paths.
> >
> > I suppose you should also unregister the already registered clocks
> > in the latter two error paths?
> >
>
> Sounds reasonable. But I find that the existing kernel code takes different
> strategies for this case. of_sama5d4_sckc_setup() uses clk_hw_unregister()
> after clk_hw_register_fixed_rate_with_accuracy(), while _of_fixed_clk_setup()
> uses clk_hw_unregister_fixed_rate(). But at91sam926x_pmc_setup() just does
> nothing in this case.

I guess you should use clk_hw_unregister_fixed_rate after
clk_hw_register_fixed_rate_with_accuracy. clk_hw_unregister will leak
the struct clk_fixed_rate. It doesn't matter too much for
of_sama5d4_sckc_setup and at91sam926x_pmc_setup because if th clock
can't be registered, the platform will not boot.

>
> Also, tcon_ch1_setup() uses clk_unregister() after clk_register(), while
> clk_register_vco_pll() just does nothing.
>
> So I'm not sure if we should register here and which unregister function to
> use. Would you please give me more specific advice about this problem?
>
> Regards,
> Dinghao

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

\
 
 \ /
  Last update: 2020-10-09 22:58    [W:0.085 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site