|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
From 32a546ed720673394c64a48631160368a392001d Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
From: Lennart Poettering <lennart@poettering.net>
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
Date: Mon, 16 Apr 2012 19:14:11 +0200
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
Subject: [PATCH] logind: remove redundant entries from logind's default
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
controller lists too (cherry picked from commit
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
b59e246565337d6c6967059dd15a52a15277433e)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
Conflicts:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
TODO
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
---
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/core/cgroup.c | 31 +------------------------------
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/core/cgroup.h | 1 -
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/core/manager.c | 3 ++-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/login/logind.c | 3 +++
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/shared/cgroup-util.c | 33 +++++++++++++++++++++++++++++++++
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
src/shared/cgroup-util.h | 2 ++
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
6 files changed, 41 insertions(+), 32 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 0ea6395..82b0410 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/core/cgroup.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/core/cgroup.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -373,7 +373,7 @@ int manager_setup_cgroup(Manager *m) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
log_debug("Created root group.");
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- manager_shorten_default_controllers(m);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ cg_shorten_controllers(m->default_controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
finish:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
free(current);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -397,35 +397,6 @@ void manager_shutdown_cgroup(Manager *m, bool delete) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
m->cgroup_hierarchy = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-void manager_shorten_default_controllers(Manager *m) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- char **f, **t;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- strv_uniq(m->default_controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- if (!m->default_controllers)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- return;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- for (f = m->default_controllers, t = m->default_controllers; *f; f++) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- if (!streq(*f, "systemd") && !streq(*f, "name=systemd")) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- char *cc;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- cc = alloca(sizeof("/sys/fs/cgroup/") + strlen(*f));
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- strcpy(stpcpy(cc, "/sys/fs/cgroup/"), *f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- if (access(cc, F_OK) >= 0) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- *(t++) = *f;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- continue;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- log_debug("Controller %s not available or redundant, removing from default controllers list.", *f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- free(*f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- *t = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bonding) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
CGroupBonding *b;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
char *p;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/core/cgroup.h b/src/core/cgroup.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 17ae14f..35ae52b 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/core/cgroup.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/core/cgroup.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -85,7 +85,6 @@ pid_t cgroup_bonding_search_main_pid_list(CGroupBonding *b);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int manager_setup_cgroup(Manager *m);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
void manager_shutdown_cgroup(Manager *m, bool delete);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
-void manager_shorten_default_controllers(Manager *m);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int cgroup_bonding_get(Manager *m, const char *cgroup, CGroupBonding **bonding);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int cgroup_notify_empty(Manager *m, const char *group);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/core/manager.c b/src/core/manager.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 97be7ce..f132b81 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/core/manager.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/core/manager.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -63,6 +63,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "exit-status.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "virt.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "watchdog.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+#include "cgroup-util.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
/* As soon as 16 units are in our GC queue, make sure to run a gc sweep */
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#define GC_QUEUE_ENTRIES_MAX 16
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -3172,7 +3173,7 @@ int manager_set_default_controllers(Manager *m, char **controllers) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
strv_free(m->default_controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
m->default_controllers = l;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
- manager_shorten_default_controllers(m);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ cg_shorten_controllers(m->default_controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/login/logind.c b/src/login/logind.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 36c187b..a299402 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/login/logind.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/login/logind.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -1205,6 +1205,9 @@ int manager_startup(Manager *m) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
assert(m);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
assert(m->epoll_fd <= 0);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ cg_shorten_controllers(m->reset_controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ cg_shorten_controllers(m->controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
m->epoll_fd = epoll_create1(EPOLL_CLOEXEC);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
if (m->epoll_fd < 0)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
return -errno;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 34c82fa..f379419 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/shared/cgroup-util.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/shared/cgroup-util.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -34,6 +34,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "set.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "macro.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#include "util.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+#include "strv.h"
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int cg_enumerate_processes(const char *controller, const char *path, FILE **_f) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
char *fs;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -1100,3 +1101,35 @@ int cg_get_user_path(char **path) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
*path = p;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+char **cg_shorten_controllers(char **controllers) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ char **f, **t;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ controllers = strv_uniq(controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ if (!controllers)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ return controllers;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ for (f = controllers, t = controllers; *f; f++) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ char *cc;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ if (streq(*f, "systemd") || streq(*f, SYSTEMD_CGROUP_CONTROLLER)) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ free(*f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ continue;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ cc = alloca(sizeof("/sys/fs/cgroup/") + strlen(*f));
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ strcpy(stpcpy(cc, "/sys/fs/cgroup/"), *f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ if (access(cc, F_OK) < 0) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ log_debug("Controller %s is not available, removing from controllers list.", *f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ free(*f);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ continue;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ *(t++) = *f;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ *t = NULL;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+ return controllers;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
index 1d1f93e..8b2c046 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
--- a/src/shared/cgroup-util.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+++ b/src/shared/cgroup-util.h
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
@@ -70,4 +70,6 @@ int cg_is_empty_recursive(const char *controller, const char *path, bool ignore_
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
int cg_get_user_path(char **path);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+char **cg_shorten_controllers(char **controllers);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
771b4bc |
#endif
|