From: "Serge E. Hallyn" <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org
Cc: kyle-hoO6YkzgTuCM0SS3m2neIg@public.gmane.org,
"David C. Hansen"
<haveblue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>,
bastian-yyjItF7Rl6lg9hUCZPvPmw@public.gmane.org,
ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org,
hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org,
containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org,
xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org
Subject: Re: [PATCH 0/9] Multiple devpts instances
Date: Thu, 16 Oct 2008 10:19:58 -0500 [thread overview]
Message-ID: <20081016151958.GA19425@us.ibm.com> (raw)
In-Reply-To: <20081015053000.GA2039-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Quoting sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org (sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org):
>
> Enable multiple instances of devpts filesystem so each container can allocate
> ptys independently.
Hey Suka,
I was playing with this a bit last night, trying to make it oops, i.e.
create an sshd in a child ptsns ssh to it, and umount -l /dev/pts out
from under me. Etc. Ran ltp.
All seemed fine.
Tested-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
thanks,
-serge
> User interface:
>
> Since supporting multiple mounts of devpts can break user-space, this
> feature is enabled only if:
>
> - CONFIG_DEVPTS_MULTIPLE_INSTANCES=y (new config token), and
> - new mount option, -o newinstance is specified
>
> If CONFIG_DEVPTS_MULTIPLE_INSTANCES=n, there should be no change in
> behavior.
>
> See [PATCH 9/9] - Documentation/filesystems/devpts.txt for detailed
> usage/compatibility information.
>
> [PATCH 1/9] Remove devpts_root global
> [PATCH 2/9] Per-mount allocated_ptys
> [PATCH 3/9] Per-mount 'config' object
> [PATCH 4/9] Extract option parsing to new function
> [PATCH 5/9] Add DEVPTS_MULTIPLE_INSTANCES config token
> [PATCH 6/9] Define mknod_ptmx()
> [PATCH 7/9] Define get_init_pts_sb()
> [PATCH 8/9] Enable multiple instances of devpts
> [PATCH 9/9] Document usage of multiple-instances of devpts
>
> Implementation notes:
>
> 1. To enable multiple mounts of /dev/pts, (most) devpts interfaces
> need to know which instance of devpts is being accessed. This
> patchset uses the 'struct inode' or 'struct tty_struct' of the
> device being accessed to identify the appropriate devpts instance.
> Hence the need for the /dev/pts/ptmx bind-mount.
>
> 2. Mount options must be parsed twice during mount (once to determine
> the mode of mount (single/multi-instance) and once to actually
> save the options. There does not seem to be an easy way to parse
> once and reuse (See 'safe_process_mount_opts()' in [PATCH 9/10])
>
>
> Changelog [v5]:
> - Merge all option-parsing (previously in patches 6,7) into patch 6.
> - Bugfixes (see changelog in patches 6 and 8)
> - Replace get_sb_ref() with devpts-specific get_init_pts_sb() (patch 7)
> - Minor update to devpts.txt documentation (patch 9)
>
>
> Changelog [v4]:
>
> - Port to 2008-09-04 ttydev tree (and drop patches that were merged in)
> - Add DEVPTS_MULTIPLE_INSTANCES config token (patch 5) and move new
> behavior under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES.
> - Create ptmx node even in initial mount
> - Change default permissions of pts/ptmx node to 0000 (patch 6)
> - Cache ptmx dentry and use to update permissions of ptmx node on
> remount so legacy mode can use the node with a simpler change to
> /etc/fstab (patch 7)
> - Move get_sb_ref() helper code to separate patch (patch 8)
> - Add Documentation/filesystems/devpts.txt and describe usage info
> in that file.
>
> Changelog [v3]:
>
> - Port to 2008-08-28 ttydev tree
> - Rename new mount options to 'ptmxmode' and 'newinstance'.
> - [Alan Cox] Use tty driver data to identify devpts (this is used to
> cleanup get_node() in devpts_pty_kill()).
> - [H. Peter Anvin] get_node() cleanup in devpts (which was enabled by
> the inode/tty parameter to devpts interfaces)
> - Bugfix in multi-mount mode (see Patch 11/11).
> - Executed pty tests in LTP (in both single-instance and multi-instance
> mode)
> - Should be bisect-safe :-)
>
> Changelog [v2]:
>
> - New mount option '-o newmnt' added (patch 8/8)
> - Support both single-mount and multi-mount semantics (patch 8/8)
> - Automatically create ptmx node when devpts is mounted (patch 7/8)
> - Extract option parsing code to new function (patch 6/8)
> - Make 'config' params per-mount variables (patch 5/8)
> - Slightly re-ordered existing patches in set (patches 1/8, 2/8)
>
> TODO:
> - Do we need a '-o ptmxuid' and '-o ptmxgid' options as well ?
> - Update mount(8) man page
> - (Sometime in future) Remove even initial kernel mount of devpts
> - Any other good test suites to test this (besides LTP, sshd).
next prev parent reply other threads:[~2008-10-16 15:19 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-15 5:30 [PATCH 0/9] Multiple devpts instances sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
[not found] ` <20081015053000.GA2039-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-15 5:33 ` [PATCH 1/9] Remove devpts_root global sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:33 ` [PATCH 2/9] Per-mount allocated_ptys sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:34 ` [PATCH 3/9] Per-mount 'config' object sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:35 ` [PATCH 4/9] Extract option parsing to new function sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:35 ` [PATCH 5/9] Add DEVPTS_MULTIPLE_INSTANCES config token sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:36 ` [PATCH 6/9] Define mknod_ptmx() sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:37 ` [PATCH 7/9] Define get_init_pts_sb() sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:37 ` [PATCH 8/9] Enable multiple instances of devpts sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
2008-10-15 5:38 ` [PATCH 9/9] Document usage of multiple-instances " sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8
[not found] ` <20081015053800.GI2215-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-15 18:57 ` Serge E. Hallyn
[not found] ` <20081015185722.GA30005-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2008-10-15 19:03 ` H. Peter Anvin
[not found] ` <48F63E76.3030907-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2008-10-15 19:48 ` Serge E. Hallyn
2008-10-16 15:19 ` Serge E. Hallyn [this message]
2009-02-19 15:43 ` [PATCH 0/9] Multiple devpts instances Daniel Lezcano
[not found] ` <499D7E13.10601-GANU6spQydw@public.gmane.org>
2009-02-19 17:32 ` H. Peter Anvin
[not found] ` <499D97B1.1090902-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-02-19 18:09 ` Daniel Lezcano
[not found] ` <499DA069.3040603-GANU6spQydw@public.gmane.org>
2009-02-19 19:58 ` H. Peter Anvin
[not found] ` <499DB9DA.2070301-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-02-19 22:28 ` Eric W. Biederman
[not found] ` <m1vdr6xdqv.fsf-+imSwln9KH6u2/kzUuoCbdi2O/JbrIOy@public.gmane.org>
2009-02-20 4:22 ` H. Peter Anvin
2009-02-19 22:42 ` Daniel Lezcano
[not found] ` <499DE06E.4030108-GANU6spQydw@public.gmane.org>
2009-02-19 22:46 ` H. Peter Anvin
2009-02-19 23:59 ` Eric W. Biederman
[not found] ` <m1eixuvv00.fsf-+imSwln9KH6u2/kzUuoCbdi2O/JbrIOy@public.gmane.org>
2009-02-23 20:56 ` Serge E. Hallyn
[not found] ` <20090223205609.GA32351-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-02-23 21:18 ` H. Peter Anvin
[not found] ` <49A31299.8040501-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
2009-02-23 22:27 ` Serge E. Hallyn
2009-02-24 4:09 ` Eric W. Biederman
2009-02-23 21:19 ` Daniel Lezcano
[not found] ` <49A312E6.9090900-GANU6spQydw@public.gmane.org>
2009-02-23 21:23 ` H. Peter Anvin
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=20081016151958.GA19425@us.ibm.com \
--to=serue-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
--cc=alan-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org \
--cc=bastian-yyjItF7Rl6lg9hUCZPvPmw@public.gmane.org \
--cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
--cc=ebiederm-aS9lmoZGLiVWk0Htik3J/w@public.gmane.org \
--cc=haveblue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
--cc=kyle-hoO6YkzgTuCM0SS3m2neIg@public.gmane.org \
--cc=sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox