Re: Possible memory leak in kernel/delayacct.c

From: Michal Piotrowski
Date: Wed Aug 23 2006 - 10:55:55 EST


Hi,

On 22/08/06, Shailabh Nagar <nagar@xxxxxxxxxxxxxx> wrote:
Catalin Marinas wrote:
> Hi Shailabh,
>
> Michal was running some kmemleak tests and there are about 20 orphan
> pointers reported in delayacct.c. The allocation backtrace is:
>
> orphan pointer 0xf548fde0 (size 76):
> c0174674: <kmem_cache_zalloc>
> c01591ee: <__delayacct_tsk_init>
> c0127e06: <copy_process>
> c0128cd2: <do_fork>
> c0104d39: <sys_clone>
>
> I'm not sure whether the leak occurs but there might be a path where
> task_struct is freed and the task->delays pointer is lost. Could you
> please have a look at this? Thanks.
>

One possibility for the leak is a missing free for tsk->delays on a
failed fork. Were the kmemleak tests causing fork failures to happen ?
What was being run in userspace ? Since the tsk->delays get allocated
from a slab, it should be easy enough to detect.

Could you try the patch below ? Its also being used for an oops reported
for delay accounting.

The problem seems to be fixed. Thanks.

$ ls /tmp/ml* | wc -l
20

$ cat /tmp/ml* | grep -c __delayacct_tsk_init
0

Thanks,
Shailabh

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/wiki/)
-
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/