summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cgroup.c6
-rw-r--r--src/mount-setup.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/cgroup.c b/src/cgroup.c
index 5864858dd7..ca19a4fd47 100644
--- a/src/cgroup.c
+++ b/src/cgroup.c
@@ -225,6 +225,12 @@ int manager_setup_cgroup(Manager *m) {
assert(m);
+ /* 0. Be nice to Ingo Molnar #628004 */
+ if (path_is_mount_point("/sys/fs/cgroup/systemd") <= 0) {
+ log_warning("No control group support available, not creating root group.");
+ return 0;
+ }
+
/* 1. Determine hierarchy */
if ((r = cg_get_by_pid(SYSTEMD_CGROUP_CONTROLLER, 0, &current)) < 0) {
log_error("Cannot determine cgroup we are running in: %s", strerror(-r));
diff --git a/src/mount-setup.c b/src/mount-setup.c
index 663a72fdd7..3b97fe4aa5 100644
--- a/src/mount-setup.c
+++ b/src/mount-setup.c
@@ -55,8 +55,8 @@ static const MountPoint mount_table[] = {
{ "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", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
- { "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|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 },
};
/* These are API file systems that might be mounted by other software,
@@ -257,7 +257,6 @@ int mount_setup(void) {
NULSTR_FOREACH_PAIR(j, k, symlinks)
symlink_and_label(j, k);
-
/* Create a few directories we always want around */
mkdir("/run/systemd", 0755);