Review: Needs Fixing
+ if (system_mount ("devtmpfs", "/dev", (MS_NOEXEC | MS_NOSUID))
< 0) {
+ NihError *err;
+
+ err = nih_error_get ();
+ nih_error ("%s: %s", _("Unable to mount /dev
filesystem"),
+ err->message);
+ nih_free (err);
+ }
+
+ /* Required to exist before /dev/pts accessed */
+ if (mknod ("/dev/ptmx", makedev (5, 2), S_IFCHR) < 0 && errno
!= EEXIST)
+ nih_error ("Unable to create /dev/ptmx");
+
+ if (mkdir ("/dev/pts", 0755) < 0 && errno != EEXIST)
+ nih_error ("%s: %s", _("Cannot create directory"),
"/dev/pts");
+
This all assumes that mounting devtmpfs on /dev is required, and that /dev
isn't being provided some other way - such as by a static /dev on the root
filesystem. A result of this is that when /dev is not currently a mount point
*and is not configured to be*, this code will still mount devtmpfs, potentially
clobbering the /dev that the admin has configured.
I think this entire section should be wrapped with a check for whether /dev/pts
and /dev/ptmx already exist, and only mount /dev if we determine we need to
write to the directory.
--
https://code.launchpad.net/~jamesodhunt/upstart/bug-980917/+merge/117863
Your team Upstart Reviewers is subscribed to branch lp:upstart.
--
upstart-devel mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/upstart-devel