[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090701082452.GA3297@redhat.com>
Date: Wed, 1 Jul 2009 10:24:52 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Roland McGrath <roland@...hat.com>
Cc: Sukadev Bhattiprolu <sukadev@...ux.vnet.ibm.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Oren Laadan <orenl@...columbia.edu>, serue@...ibm.com,
Alexey Dobriyan <adobriyan@...il.com>,
Containers <containers@...ts.linux-foundation.org>,
linux-kernel@...r.kernel.org
Subject: Re: [RFC][PATCH] Disable CLONE_PARENT for init
On 07/01, Roland McGrath wrote:
>
> > When global or container-init processes use CLONE_PARENT, they create a
> > multi-rooted process tree.
>
> I take this to be the real motivation for your change.
> But you don't mention it in the code comment.
>
> > + * Swapper process sets the handler for SIGCHLD to SIG_DFL. If init
> > + * creates a sibling and the sibling exits, the SIGCHLD is sent to
> > + * the swapper (since the swapper's handler for SIGCHLD is SIG_DFL).
> > + * But since the swapper does not reap its children, the zombie will
> > + * remain forever. So prevent init from using CLONE_PARENT.
>
> This would be fixed by having swapper set its SIGCHLD to SIG_IGN instead,
> so such children self-reap. That seems like the better fix for that.
This won't fix the problem. The child won't autoreap itself if ->exit_signal
!= SIGCHLD.
> If you want to make this change because of container-init issues, I think
> you should just say so independent of this global-init case.
Yes, agreed, the comment looks confusing.
Oleg
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists