Re: Possible memory leak in kernel/delayacct.c

Michal Piotrowski
2006-08-23T14:58:16Z

Hi,

On 22/08/06, Shailabh Nagar <nagar@watson.ibm.com> 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/)