[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGb2v640zTha1tzjOo3L+=T=N3hDRG+8qf2xu+bD8BMUnkhORQ@mail.gmail.com>
Date: Tue, 25 Aug 2020 22:51:33 +0800
From: Chen-Yu Tsai <wens@...e.org>
To: Dinghao Liu <dinghao.liu@....edu.cn>
Cc: Kangjie Lu <kjlu@....edu>, linux-rtc@...r.kernel.org,
Alessandro Zummo <a.zummo@...ertech.it>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Maxime Ripard <mripard@...nel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
On Sun, Aug 23, 2020 at 3:59 PM Dinghao Liu <dinghao.liu@....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?
> Signed-off-by: Dinghao Liu <dinghao.liu@....edu.cn>
> ---
> drivers/rtc/rtc-sun6i.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
> index e2b8b150bcb4..a837c5a40508 100644
> --- a/drivers/rtc/rtc-sun6i.c
> +++ b/drivers/rtc/rtc-sun6i.c
> @@ -272,7 +272,7 @@ static void __init sun6i_rtc_clk_init(struct device_node *node,
> 300000000);
> if (IS_ERR(rtc->int_osc)) {
> pr_crit("Couldn't register the internal oscillator\n");
> - return;
> + goto err;
> }
>
> parents[0] = clk_hw_get_name(rtc->int_osc);
> @@ -290,7 +290,7 @@ static void __init sun6i_rtc_clk_init(struct device_node *node,
> rtc->losc = clk_register(NULL, &rtc->hw);
> if (IS_ERR(rtc->losc)) {
> pr_crit("Couldn't register the LOSC clock\n");
> - return;
> + goto err;
> }
>
> of_property_read_string_index(node, "clock-output-names", 1,
> @@ -301,7 +301,7 @@ static void __init sun6i_rtc_clk_init(struct device_node *node,
> &rtc->lock);
> if (IS_ERR(rtc->ext_losc)) {
> pr_crit("Couldn't register the LOSC external gate\n");
> - return;
> + goto err;
> }
>
> clk_data->num = 2;
> --
> 2.17.1
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@...ts.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Powered by blists - more mailing lists