Re: [PATCH] rtc: sun6i: fix memory leak

From: Alexandre Belloni
Date: Wed Sep 27 2017 - 09:25:29 EST


Hi,

On 17/09/2017 at 13:43:10 +0100, Sudip Mukherjee wrote:
> If 'clk_data' is not allocated we returned but we failed to free 'rtc'.
>
> Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
> ---
> drivers/rtc/rtc-sun6i.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
> index 3d2216c..5bc28ee 100644
> --- a/drivers/rtc/rtc-sun6i.c
> +++ b/drivers/rtc/rtc-sun6i.c
> @@ -201,8 +201,10 @@ static void __init sun6i_rtc_clk_init(struct device_node *node)
>
> clk_data = kzalloc(sizeof(*clk_data) + (sizeof(*clk_data->hws) * 2),
> GFP_KERNEL);
> - if (!clk_data)
> + if (!clk_data) {
> + kfree(rtc);
> return;
> + }

Please also fix the other occurrence of the issue in the same function.

>
> spin_lock_init(&rtc->lock);
>
> --
> 2.7.4
>

--
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com