Re: [PATCH v2] module: check if memory leak by module.

From: Michal Hocko
Date: Wed Mar 29 2017 - 07:34:25 EST


On Wed 29-03-17 09:23:32, Vaneet Narang wrote:
> Hi,
>
> >> Hmm, how can you track _all_ vmalloc allocations done on behalf of the
> >> module? It is quite some time since I've checked kernel/module.c but
> >> from my vague understading your check is basically only about statically
> >> vmalloced areas by module loader. Is that correct? If yes then is this
> >> actually useful? Were there any bugs in the loader code recently? What
> >> led you to prepare this patch? All this should be part of the changelog!
>
> First of all there is no issue in kernel/module.c. This patch add functionality
> to detect scenario where some kernel module does some memory allocation but gets
> unloaded without doing vfree. For example
> static int kernel_init(void)
> {
> char * ptr = vmalloc(400 * 1024);
> return 0;
> }

How can you track that allocation back to the module? Does this patch
actually works at all? Also why would be vmalloc more important than
kmalloc allocations?
--
Michal Hocko
SUSE Labs