[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f2704d4a-c30c-26be-7018-e496ce7c6313@kernel.org>
Date: Tue, 25 Jan 2022 13:32:48 -0600
From: Dinh Nguyen <dinguyen@...nel.org>
To: Stephen Boyd <sboyd@...nel.org>, zhou1615@....edu
Cc: kjlu@....edu, Michael Turquette <mturquette@...libre.com>,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] clk: socfpga: Fix a memory leak bug in
socfpga_gate_init()
On 1/24/22 13:53, Stephen Boyd wrote:
> Quoting Zhou Qingyang (2022-01-24 08:53:16)
>> diff --git a/drivers/clk/socfpga/clk-gate.c b/drivers/clk/socfpga/clk-gate.c
>> index 53d6e3ec4309..0ca5e0000925 100644
>> --- a/drivers/clk/socfpga/clk-gate.c
>> +++ b/drivers/clk/socfpga/clk-gate.c
>> @@ -188,8 +188,10 @@ void __init socfpga_gate_init(struct device_node *node)
>> return;
>>
>> ops = kmemdup(&gateclk_ops, sizeof(gateclk_ops), GFP_KERNEL);
>> - if (WARN_ON(!ops))
>> + if (WARN_ON(!ops)) {
>
> A WARN_ON() after an allocation failure will lead to double stacktraces.
> Can you remove the WARN_ON()?
>
> Furthermore, it looks like 'ops' is never freed on failure in this
> function. Did the SA tool figure that out? There are more problems with
> this function and error paths. Seems like nobody cares.
>
Thanks for pointing this out. I'll take a look and will send a patch
shortly.
Dinh
Powered by blists - more mailing lists