LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Cedric Le Goater <clg@fr.ibm.com>,
	Daniel Hokka Zakrisson <daniel@hozac.com>,
	linux-kernel@vger.kernel.org, herbert@13thfloor.at,
	akpm@osdl.org, trond.myklebust@fys.uio.no,
	Linux Containers <containers@lists.osdl.org>
Subject: Re: NFS causing oops when freeing namespace
Date: Wed, 17 Jan 2007 21:46:15 -0700	[thread overview]
Message-ID: <m164b57xig.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20070117225524.GA1572@tv-sign.ru> (Oleg Nesterov's message of "Thu, 18 Jan 2007 01:55:24 +0300")

Oleg Nesterov <oleg@tv-sign.ru> writes:

> On 01/17, Eric W. Biederman wrote:
>>
>> Cedric Le Goater <clg@fr.ibm.com> writes:
>> >
>> > your first analysis was correct : exit_task_namespaces() should be moved 
>> > above exit_notify(tsk). It will require some extra fixes for nsproxy 
>> > though.
>> 
>> I think the only issue is the child_reaper and currently we only have one of
>> those.  When we really do the pid namespace we are going to have to revisit
>> this.  My gut feel says that we won't be able to exit our pid namespace until
>> the process is waited on.  So we may need to break up exit_task_namespace into
>> individual components.
>
> I agree, but please note that the child_reaper is not the only issue.

To be clear I believe the only issue keeping us from moving exit_namespaces
back where it used to be is the child reaper as that is the only part of
the pid namespace that has been implemented.  

There is more when we revisit this.
> Think
> about sub-thread which auto-reaps itself. I'd suggest to add the comment in
> do_exit() after exit_notify() to remind that the task is really dead now, it
> has no ->signal, it can't be seen in /proc/, we can't send a signal to it, etc.

A very interesting case is what happens when we reparent a zombie.  I think
that needs the child reaper and it happens well after exit_namespaces is currently
being called.

In the very stupid test we need our struct pid that identifies the process until
we are reaped.  Therefore our pid namespace must continue to exist, even if we
don't keep a pointer to it in struct nsproxy.

A comment after exit_notify would certainly be useful.

Eric

      reply	other threads:[~2007-01-18  4:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-17 10:28 Daniel Hokka Zakrisson
2007-01-17 12:44 ` Eric W. Biederman
2007-01-17 13:13   ` Daniel Hokka Zakrisson
2007-01-17 18:58     ` Oleg Nesterov
2007-01-17 19:20       ` Cedric Le Goater
2007-01-17 19:46         ` Oleg Nesterov
2007-01-17 20:31           ` Cedric Le Goater
2007-01-17 22:30             ` Eric W. Biederman
2007-01-17 22:46               ` Trond Myklebust
2007-01-17 22:55               ` Oleg Nesterov
2007-01-18  4:46                 ` Eric W. Biederman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m164b57xig.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@osdl.org \
    --cc=clg@fr.ibm.com \
    --cc=containers@lists.osdl.org \
    --cc=daniel@hozac.com \
    --cc=herbert@13thfloor.at \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleg@tv-sign.ru \
    --cc=trond.myklebust@fys.uio.no \
    --subject='Re: NFS causing oops when freeing namespace' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).