public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: "Ulrich Drepper" <drepper@gmail.com>
Cc: "Kirill Korotaev" <dev@sw.ru>,
	"Dave Hansen <haveblue@us.ibm.com> Cedric Le Goater"
	<clg@fr.ibm.com>, "Herbert Poetzl" <herbert@13thfloor.at>,
	linux-kernel@vger.kernel.org
Subject: Re: question: pid space semantics.
Date: Tue, 14 Mar 2006 22:37:01 -0700	[thread overview]
Message-ID: <m1zmjsi802.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <a36005b50603142027u4b811864maefa06f8d78a57bc@mail.gmail.com> (Ulrich Drepper's message of "Tue, 14 Mar 2006 20:27:43 -0800")

"Ulrich Drepper" <drepper@gmail.com> writes:

> On 3/14/06, Eric W. Biederman <ebiederm@xmission.com> wrote:
>> The question:
>>   If we could add additional pid values in different pid spaces to a
>>   process with a syscall upon demand would that lead to an
>>   implementation everyone could use?
>
> Before going into this, how do propose to solve some other issues:
>
> - RT signal contexts have a si_pid field which contains the PID of the
> sender.  When and how do you fix this up?  Can a process which is not
> visible in a second PID space send a signal to a process in that
> second PID space?
>
> - similar problem: SysV IPC.  How do you fix up fields like msg_lspid
> in struct msqid_ds?
>
> - the proposed futex extensions for robust and maybe PI mutexes needs
> to store the TID in the futex field.  If the futex shared by processes
> in different PID spaces this value is worthless.

Odd.  I did not see that in Ingo's patches on the kernel list.
Perhaps only user space cares about storing the tid in the futex
field.

> It would perhaps be conceivable to fix up the first two problems in
> some cases.  If the process is visible in the PID space of the
> receiver of the signal or the process which calls msgctl() etc the
> kernel could magically fill in the correct PID for the PID space.  But
> what to do if the process is not visible?
>
> And for the futex case, the kernel is not involved in the fast path. 
> There is no magic fixup which can happen.
>
> I don't see at all how any of these things can work without breaking
> all kinds of code.

The point of containers and their building blocks largely is isolation
so you can have multiple different user space environments on one
machine.  So for most of the pieces that can really confuse user space
the answer is don't do that then.  The classic example is pid files
for remembering a daemon is running.

Interactions do need to happen between pid spaces for certain
administrative actions, and as much as possible I don't want
to reinvent the wheel.  Pid alases in the kernel are for
that purpose, and so will likely play a role in the RT signal
and the sysv shm case.

Eric

      reply	other threads:[~2006-03-15  5:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1142282940.27590.17.camel@localhost.localdomain>
2006-03-14 18:43 ` question: pid space semantics Eric W. Biederman
2006-03-14 19:18   ` Dave Hansen
2006-03-14 20:21     ` Eric W. Biederman
2006-03-14 20:32   ` Cedric Le Goater
2006-03-14 22:40   ` Herbert Poetzl
2006-03-15  6:01     ` Eric W. Biederman
2006-03-15  4:27   ` Ulrich Drepper
2006-03-15  5:37     ` 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=m1zmjsi802.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=clg@fr.ibm.com \
    --cc=dev@sw.ru \
    --cc=drepper@gmail.com \
    --cc=herbert@13thfloor.at \
    --cc=linux-kernel@vger.kernel.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox