How to check if my kernel driver is leaking memory

sanjeev sharma sanjeevsharmaengg at gmail.com
Thu Mar 13 03:40:28 EDT 2014


Hi,

Are you writing driver on X86 or some other Architecture ? if it is X86
then use

*KEDR framework(http://kedr.berlios.de/ <http://kedr.berlios.de/>).*


*RegardsSanjeev Sharma*



On Mon, Mar 10, 2014 at 7:28 PM, <Valdis.Kletnieks at vt.edu> wrote:

> On Sun, 09 Mar 2014 22:14:24 -0700, m silverstri said:
>
> > I am developing a kernel driver. What should I test to make sure my
> > kernel driver is not leaking memory?
>
> 1) The brute force method - just add lots of printk's that have
> "allocating 25-byte frobozz struct" and "freeing 25-byte frobozz struct"
> and make sure they match up.
>
> 2) kmemleak.
>
> > 1. under normal operation (when applications open and close my driver
> properly)
> > 2. in error situation (when application open my driver and then it
> > crashes without close my driver property)
>
> Case (2) shouldn't happen, as even if a program crashes the kernel *should*
> be invoking the cleanup of open files at process termination.
>
> A more common cause of memory leaks is for an open() or read/write/ioctl()
> path to allocate N chunks of memory, hit an error, and return after having
> cleaned up only N-1 of the chunks.  This is part of why most kernel code
> uses a 'goto error' structure with only one return; at the end of the
> function.
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140313/8be816c7/attachment.html 


More information about the Kernelnewbies mailing list