Re: clock_nanosleep() task_struct leak

From: Oleg Nesterov
Date: Mon Feb 04 2013 - 14:33:30 EST


On 02/01, Thomas Gleixner wrote:
>
> B1;2601;0cOn Fri, 1 Feb 2013, Tommi Rantala wrote:
>
> > Hello,
> >
> > Trinity discovered a task_struct leak with clock_nanosleep(), reproducible with:
> >
> > -----8<-----8<-----8<-----
> > #include <time.h>
> >
> > static const struct timespec req;
> >
> > int main(void) {
> > return clock_nanosleep(CLOCK_PROCESS_CPUTIME_ID,
> > TIMER_ABSTIME, &req, NULL);
> > }
> > -----8<-----8<-----8<-----

posix_cpu_timer_create()->get_task_struct() I guess...

Cough. I am not sure I ever understood this code, but now it certainly
looks as if I never saw it before.

All I can say is: I'll try to take another look tomorrow :/

> Groan. That code probably has more than that leak burried inside.

Oh. yes... but if you meant something connected to this particular
"test-case" please tell us ;)

Oleg.

--
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/