X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fmount-setup.c;h=f236ab741af7ea03137f6411e47625c167b00246;hp=db5c253708f18d550d33c8587584d4ed8b319700;hb=f401e48c2db22ff9d1a05885b5599bebf19c2707;hpb=af49ec2c7de8698da61114c9e1ddfc8a8b9802c8 diff --git a/src/mount-setup.c b/src/mount-setup.c index db5c25370..f236ab741 100644 --- a/src/mount-setup.c +++ b/src/mount-setup.c @@ -54,7 +54,7 @@ static const MountPoint mount_table[] = { { "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID, true }, { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV, true }, { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false }, - { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, true }, + { "tmpfs", "/run", "tmpfs", "mode=755", MS_NOSUID|MS_NODEV, true }, { "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, false }, { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, false }, }; @@ -63,6 +63,7 @@ static const MountPoint mount_table[] = { * we just list them here so that we know that we should ignore them */ static const char * const ignore_paths[] = { + "/sys/fs/selinux", "/selinux", "/proc/bus/usb" }; @@ -136,8 +137,10 @@ static int mount_cgroup_controllers(void) { /* Mount all available cgroup controllers that are built into the kernel. */ - if (!(f = fopen("/proc/cgroups", "re"))) - return -ENOENT; + if (!(f = fopen("/proc/cgroups", "re"))) { + log_error("Failed to enumerate cgroup controllers: %m"); + return 0; + } /* Ignore the header line */ (void) fgets(buf, sizeof(buf), f); @@ -257,6 +260,7 @@ int mount_setup(void) { /* Create a few directories we always want around */ mkdir("/run/systemd", 0755); + mkdir("/run/systemd/system", 0755); return mount_cgroup_controllers(); }