- make = alloca0(offsetof(struct kdbus_cmd_bus_make, name) + DECIMAL_STR_MAX(uid_t) + 1 + l + 1);
- sprintf(make->name, "%lu-%s", (unsigned long) getuid(), name);
- make->size = offsetof(struct kdbus_cmd_bus_make, name) + strlen(make->name) + 1;
+ make = alloca0(offsetof(struct kdbus_cmd_bus_make, items) +
+ sizeof(struct kdbus_cmd_make_item) + sizeof(uint64_t) +
+ sizeof(struct kdbus_cmd_make_item) + DECIMAL_STR_MAX(uid_t) + 1 + l + 1);
+
+ cg = make->items;
+ cg->type = KDBUS_CMD_MAKE_CGROUP;
+ cg->data64[0] = 1;
+ cg->size = sizeof(struct kdbus_cmd_make_item) + sizeof(uint64_t);
+
+ n = KDBUS_ITEM_NEXT(cg);
+ n->type = KDBUS_CMD_MAKE_NAME;
+ sprintf(n->str, "%lu-%s", (unsigned long) getuid(), name);
+ n->size = sizeof(struct kdbus_cmd_make_item) + strlen(n->str) + 1;
+
+ make->size = offsetof(struct kdbus_cmd_bus_make, items) + cg->size + n->size;