[PATCHv2] pcmcia:Fix memory leak in the function, sa11xx_drv_pcmcia_probe

Nicholas Krause xerofoify at gmail.com
Thu Mar 26 05:02:50 PDT 2015



On March 26, 2015 7:26:04 AM EDT, Russell King - ARM Linux <linux at arm.linux.org.uk> wrote:
>On Thu, Mar 26, 2015 at 07:14:38AM -0400, Nicholas Krause wrote:
>> 
>> 
>> On March 26, 2015 5:52:25 AM EDT, Russell King - ARM Linux
><linux at arm.linux.org.uk> wrote:
>> >On Wed, Mar 25, 2015 at 11:15:52PM -0400, Nicholas Krause wrote:
>> >> This fixes the memory found when running  coccinelle on the latest
>> >
>> >How does this "fix the memory" ?  Is the memory faulty?
>> >
>> >> kernel tree for if we are unable to successfully allocate memory
>> >> for the structure pointer,sinfo of type skt_dev_info and need to
>> >> clean up the memory already allocated to the clk structure
>pointer,
>> >> clk by calling clk_get on it and freeing the no longer required
>> >> mermory for this structure pointer.
>> >
>> >This makes no sense.  clk_get() itself doesn't allocate any memory. 
>As
>> >usual, you act as a mechanical automatom which doesn't understand
>what
>> >you're doing or you just guess.  I don't care which it is, you are a
>> >danger to the kernel by doing this.  As many other experienced
>kernel
>> >developers have told you, please stop.
>> >
>> >In any case, I'm NAKing your patch as there's better ways to solve
>> >this.
>> >That's where experience and research come in.
>> >
>> >Nevertheless, thanks for pointing out the oversight, and I notice
>that
>> >there are a few more cases too.
>> Very well then I  guess my patch commit message was wrong. 
>
>Again, you fail to understand what you are being told.  Please re-read
>the paragraph which starts "In any case, I'm NAKing your patch".
>
>Your patch is one way to solve it, but there are other solutions too.
>I've just posted a small patch series which addresses the issue you
>have raised.  You need to perform no further action on this.
That's fine, however I would like to see your solution for my own learning.  Furthermore I did look into it further and clk put is a wrapper function that calls __clk_up which does kfree our structure pointer and releases other resources allocated to  it, namely deleting it from the hlist and removing one  from it's ref count with a call to __clk_release. 
Nick

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.



More information about the linux-pcmcia mailing list