From: Cedric Le Goater <clg-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
To: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Cc: Linux Containers
<containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
"Eric W. Biederman"
<ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org>
Subject: Re: namespaces compatibility list
Date: Tue, 06 Nov 2007 13:54:37 +0100 [thread overview]
Message-ID: <4730640D.9030407@fr.ibm.com> (raw)
In-Reply-To: <47304729.8000309-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
Pavel Emelyanov wrote:
> Hi guys!
>
> As you might have seen, recently there was some spontaneous
> discussion about the namespaces-working-together problems.
>
> Ted T'so proposed to create some document that describes what
> problems user may have when he/she creates some new namespace,
> but keeps others shared. I like this idea, so here's the draft
> with the problems I currently have in mind and can describe
> somewhat audibly - the "namespaces compatibility list".
that compatibility list could be encoded in the way we check
the clone flags in copy_process() and unshare(). It would
also be good to have it as a comment somewhere in kernel/fork.c
> The Documentation/namespaces/ dir is about to contain more
> docs about the namespaces stuff (e.g. I'm going to prepare
> a doc about the pid namespaces, maybe Serge will want to
> write something about the user namespaces development, Eric
> may want to put some notes about the netns API and so on),
> but currently there will be only one file.
>
> What would you say about it?
well, as this is user space issues, I'd say that we should
help building a good man page. What's in Documentation/
could help to do that but I don't trust documentation when
it's maintained in 2 places.
So a check_flags() routine for namespaces with all the required
comments would probably be more helpful for the manpage
maintainer.
I was thinking of merging some clone flags together also and
keep only 3, NS, PID and NET.
>
> Signed-off-by: Pavel Emelyanov <xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
>
> ---
>
> diff --git a/Documentation/namespaces/compatibility-list.txt b/Documentation/namespaces/compatibility-list.txt
> new file mode 100644
> index 0000000..4be4a3c
> --- /dev/null
> +++ b/Documentation/namespaces/compatibility-list.txt
> @@ -0,0 +1,32 @@
> + Namespaces compatibility list
> +
> +This document contains the information about the problems user
> +may have when creating tasks living in different namespaces.
> +
> +Here's the summary. This matrix shows the known problems, that
> +occur when tasks share some namespace (the columns) while living
> +in different other namespaces (the raws):
> +
> + UTS IPC VFS PID User Net
> +UTS
> +IPC 1
> +VFS
> +PID 1 1
> +User 2
> +Net
> +
funny, I had just started doing :
depends on VFS PID IPC NET UTS MQ
VFS *
PID * *
IPC * *
NET * *
UTS *
MQ * * ? * *
I kept VFS out for the moment.
I would rather build a matrix giving the dependencies. nop ? which
is a way to enforce the clone flags.
C.
> +1. Both the IPC and the PID namespaces provide IDs to address
> + object inside the kernel. E.g. semaphore with ipcid or
> + process group with pid.
> +
> + In both cases, tasks shouldn't try telling this id to some
> + other task living in different namespace vid shared filesystem
> + or IPC shmem/message. The fact is that this ID is only valid
> + within the namespace it was obtained in and may refer to some
> + other object in another namespace.
> +
> +2. Intentionnaly, two equal user ids in different user namespaces
> + should not be equal from the VFS point of view. In other
> + words, user 10 in one user namespace shouldn't have the same
> + access permissions to files, beloging to user 10 in another
> + namespace. But currently this is not so.
>
next prev parent reply other threads:[~2007-11-06 12:54 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-06 10:51 namespaces compatibility list Pavel Emelyanov
[not found] ` <47304729.8000309-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-11-06 12:36 ` Kirill Korotaev
2007-11-06 12:54 ` Cedric Le Goater [this message]
[not found] ` <4730640D.9030407-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2007-11-06 13:00 ` Pavel Emelyanov
[not found] ` <4730655C.8000306-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-11-06 16:01 ` Cedric Le Goater
[not found] ` <47308FDB.4010302-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2007-11-06 16:10 ` Pavel Emelyanov
[not found] ` <473091F9.10406-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-11-06 16:46 ` Cedric Le Goater
[not found] ` <47309A51.1050607-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2007-11-06 17:00 ` Eric W. Biederman
[not found] ` <m1ejf371hw.fsf-T1Yj925okcoyDheHMi7gv2pdwda3JcWeAL8bYrjMMd8@public.gmane.org>
2007-11-06 17:09 ` Pavel Emelyanov
[not found] ` <47309FAD.90702-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org>
2007-11-06 17:46 ` Eric W. Biederman
2007-11-07 8:20 ` Cedric Le Goater
[not found] ` <4731756A.3060701-NmTC/0ZBporQT0dZR+AlfA@public.gmane.org>
2007-11-07 9:29 ` Pavel Emelyanov
2007-11-07 8:14 ` Cedric Le Goater
2007-11-06 16:36 ` Eric W. Biederman
[not found] ` <m1ode772lx.fsf-T1Yj925okcoyDheHMi7gv2pdwda3JcWeAL8bYrjMMd8@public.gmane.org>
2007-11-06 16:48 ` Cedric Le Goater
2007-11-07 13:49 ` Cedric Le Goater
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=4730640D.9030407@fr.ibm.com \
--to=clg-nmtc/0zbporqt0dzr+alfa@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.