[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