potential mem leak when system is low on memory
- From: "Amit Choudhary" <amit2030@xxxxxxxxx>
- Date: Mon, 16 Oct 2006 15:52:00 -0700
Hi All,
I was just scrubbing the kernel for checking the return ststus of
kmalloc(), and I saw at many places the following things. I just
wanted to report this.
1. If there are more than one kmalloc() calls in the same function,
and if kmalloc() returns NULL for one of them, then the memory
obtained from previous kmalloc() calls is not released.
Something like:
func()
{
var1 = kmalloc(size);
if (!var1)
return -ENOMEM;
var2 = kmalloc(size);
if (!var2)
return -ENOMEM;
/* mem leak as var1 is not freed */
}
2. Sometimes, memory is allocated in a loop. So, if kmalloc() fails at
some point, memory allocated previously is not released.
func()
{
for (i = 0; i < LENGTH; i++) {
var1[i] = kmalloc(size);
if (!var1[i])
return -ENOMEM;
/* mem leak as var1[0] to var1[i - 1] is not freed */
}
}
So, already the system is running low on memory and on top of it there
are leaks.
-Amit
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: potential mem leak when system is low on memory
- From: Jarek Poplawski
- Re: potential mem leak when system is low on memory
- Prev by Date: 2.6.19-rc2 cpu hotplug lockdep warning: possible circular locking dependency
- Next by Date: Re: raw1394 problems galore
- Previous by thread: Re: suspend broken in 2.6.18.1
- Next by thread: Re: potential mem leak when system is low on memory
- Index(es):
Relevant Pages
|