X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fbus-kernel.c;h=03c4165095ce0a7c2d130d3318d2fe6c05f98dc2;hb=aae2b488d084cf2af9a552a55e1d9cc614f2a12a;hp=d384f846b9803b41dc658a6942e7048cbad5caaa;hpb=4632777024b7ba210e4efe5cfabc8cd0b5991045;p=elogind.git diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index d384f846b..03c416509 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -542,11 +542,9 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k) { m->creds.cgroup = d->str; m->creds.mask |= (SD_BUS_CREDS_CGROUP|SD_BUS_CREDS_UNIT|SD_BUS_CREDS_USER_UNIT|SD_BUS_CREDS_SLICE|SD_BUS_CREDS_SESSION|SD_BUS_CREDS_OWNER_UID) & bus->creds_mask; - if (!bus->cgroup_root) { - r = cg_get_root_path(&bus->cgroup_root); - if (r < 0) - goto fail; - } + r = bus_get_root_path(bus); + if (r < 0) + goto fail; m->creds.cgroup_root = bus->cgroup_root; @@ -1537,37 +1535,6 @@ int bus_kernel_create_domain(const char *name, char **s) { return fd; } -int bus_kernel_create_monitor(const char *bus) { - struct kdbus_cmd_hello *hello; - int fd; - - assert(bus); - - fd = bus_kernel_open_bus_fd(bus, NULL); - if (fd < 0) - return fd; - - hello = alloca0(sizeof(struct kdbus_cmd_hello)); - hello->size = sizeof(struct kdbus_cmd_hello); - hello->conn_flags = KDBUS_HELLO_ACTIVATOR; - hello->pool_size = KDBUS_POOL_SIZE; - - if (ioctl(fd, KDBUS_CMD_HELLO, hello) < 0) { - safe_close(fd); - return -errno; - } - - /* The higher 32bit of both flags fields are considered - * 'incompatible flags'. Refuse them all for now. */ - if (hello->bus_flags > 0xFFFFFFFFULL || - hello->conn_flags > 0xFFFFFFFFULL) { - safe_close(fd); - return -ENOTSUP; - } - - return fd; -} - int bus_kernel_try_close(sd_bus *bus) { assert(bus); assert(bus->is_kernel);