X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fcore%2Fmanager.c;h=6a755975fb6d6739d05e8c7340b12bb89a340ecc;hb=08c6f819cb0ed435649583da02fa0de965b32dbe;hp=ad4c6e8ed91fdce35495d1a8c752f2d601c1d2b2;hpb=9a636ed8096fa44927f182ac3eaef4104866d4a9;p=elogind.git diff --git a/src/core/manager.c b/src/core/manager.c index ad4c6e8ed..6a755975f 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -427,6 +427,12 @@ static int manager_setup_kdbus(Manager *m) { } log_debug("Successfully set up kdbus on %s", p); + + /* Create the namespace directory here, so that the contents + * 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); #endif return 0; @@ -1631,7 +1637,7 @@ static int manager_dispatch_signal_fd(sd_event_source *source, int fd, uint32_t } if (sigchld) - return manager_dispatch_sigchld(m); + manager_dispatch_sigchld(m); return 0; }