]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: Don't pass uid mount option for devpts 670/head
authorMike Gilbert <floppym@gentoo.org>
Thu, 23 Jul 2015 02:34:57 +0000 (22:34 -0400)
committerMike Gilbert <floppym@gentoo.org>
Thu, 23 Jul 2015 02:34:57 +0000 (22:34 -0400)
Mounting devpts with a uid breaks pty allocation with recent glibc
versions, which expect that the kernel will set the correct owner for
user-allocated ptys.

The kernel seems to be smart enough to use the correct uid for root when
we switch to a user namespace.

This resolves #337.

src/nspawn/nspawn.c

index 3428109da4fca2eacfbbfce1ca0585eeab435b94..65b9a5071b9bcac040c4a5b06a5f008b810bfa41 100644 (file)
@@ -1785,15 +1785,13 @@ static int setup_pts(const char *dest) {
 #ifdef HAVE_SELINUX
         if (arg_selinux_apifs_context)
                 (void) asprintf(&options,
-                                "newinstance,ptmxmode=0666,mode=620,uid=" UID_FMT ",gid=" GID_FMT ",context=\"%s\"",
-                                arg_uid_shift,
+                                "newinstance,ptmxmode=0666,mode=620,gid=" GID_FMT ",context=\"%s\"",
                                 arg_uid_shift + TTY_GID,
                                 arg_selinux_apifs_context);
         else
 #endif
                 (void) asprintf(&options,
-                                "newinstance,ptmxmode=0666,mode=620,uid=" UID_FMT ",gid=" GID_FMT,
-                                arg_uid_shift,
+                                "newinstance,ptmxmode=0666,mode=620,gid=" GID_FMT,
                                 arg_uid_shift + TTY_GID);
 
         if (!options)