{
struct kdbus_bus *bus = conn->ep->bus;
struct kdbus_pool_slice *slice = NULL;
+ struct kdbus_item_header item_hdr;
struct kdbus_item *meta_items;
struct kdbus_info info = {};
- struct kdbus_item item = {};
size_t meta_size, name_len;
struct kvec kvec[5];
u64 attach_flags;
if (IS_ERR(meta_items))
return PTR_ERR(meta_items);
- item.type = KDBUS_ITEM_MAKE_NAME;
- item.size = KDBUS_ITEM_HEADER_SIZE + name_len;
+ item_hdr.type = KDBUS_ITEM_MAKE_NAME;
+ item_hdr.size = KDBUS_ITEM_HEADER_SIZE + name_len;
kdbus_kvec_set(&kvec[cnt++], &info, sizeof(info), &info.size);
- kdbus_kvec_set(&kvec[cnt++], &item, KDBUS_ITEM_HEADER_SIZE, &info.size);
+ kdbus_kvec_set(&kvec[cnt++], &item_hdr, sizeof(item_hdr), &info.size);
kdbus_kvec_set(&kvec[cnt++], bus->node.name, name_len, &info.size);
cnt += !!kdbus_kvec_pad(&kvec[cnt], &info.size);
((u8 *)(_i) >= (u8 *)(_is)); \
_i = KDBUS_ITEM_NEXT(_i))
+/**
+ * struct kdbus_item_header - Describes the fix part of an item
+ * @size: The total size of the item
+ * @type: The item type, one of KDBUS_ITEM_*
+ */
+struct kdbus_item_header {
+ u64 size;
+ u64 type;
+};
+
int kdbus_item_validate_name(const struct kdbus_item *item);
int kdbus_items_validate(const struct kdbus_item *items, size_t items_size);
struct kdbus_item *kdbus_items_get(const struct kdbus_item *items,