diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/manager.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/core/manager.c b/src/core/manager.c index 22a3e3ef5d..bbe5efa560 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -538,10 +538,6 @@ static int manager_setup_kdbus(Manager *m) { if (m->kdbus_fd >= 0) return 0; - /* If there's already a bus address set, don't set up kdbus */ - if (m->running_as == SYSTEMD_USER && getenv("DBUS_SESSION_BUS_ADDRESS")) - return 0; - m->kdbus_fd = bus_kernel_create_bus(m->running_as == SYSTEMD_SYSTEM ? "system" : "user", m->running_as == SYSTEMD_SYSTEM, &p); if (m->kdbus_fd < 0) { log_debug("Failed to set up kdbus: %s", strerror(-m->kdbus_fd)); @@ -554,7 +550,8 @@ static int manager_setup_kdbus(Manager *m) { * of that directory is not visible to non-root users. This is * necessary to ensure that users cannot get access to busses * of virtualized users when no UID namespacing is used. */ - mkdir_p_label("/dev/kdbus/ns", 0700); + if (m->running_as == SYSTEMD_SYSTEM) + mkdir_p_label("/dev/kdbus/ns", 0700); #endif return 0; |