diff --git a/kmod/src/btree.c b/kmod/src/btree.c index d8a25f0f..86ce8fd7 100644 --- a/kmod/src/btree.c +++ b/kmod/src/btree.c @@ -2042,7 +2042,7 @@ struct merged_item { u64 seq; u8 flags; unsigned int val_len; - u8 val[0]; + u8 val[]; }; static inline struct merged_item *mitem_container(struct rb_node *node) @@ -2210,7 +2210,7 @@ static int merge_read_item(struct super_block *sb, struct scoutfs_key *key, u64 mitem->flags = flags; mitem->val_len = val_len; if (val_len) - memcpy(mitem->val, val, val_len); + memcpy(&mitem->val[0], val, val_len); if (found) { replace_mitem(rng, found, mitem); diff --git a/kmod/src/btree.h b/kmod/src/btree.h index 8656dd65..065c190e 100644 --- a/kmod/src/btree.h +++ b/kmod/src/btree.h @@ -30,7 +30,7 @@ struct scoutfs_btree_item_list { u64 seq; u8 flags; int val_len; - u8 val[0]; + u8 val[]; }; int scoutfs_btree_lookup(struct super_block *sb, diff --git a/kmod/src/item.c b/kmod/src/item.c index fdeb7c9e..1ad4dcbe 100644 --- a/kmod/src/item.c +++ b/kmod/src/item.c @@ -143,7 +143,7 @@ struct cached_item { unsigned int val_len; struct scoutfs_key key; u64 seq; - char val[0]; + char val[]; }; #define CACHED_ITEM_ALIGN 8 @@ -421,7 +421,7 @@ static struct cached_item *alloc_item(struct cached_page *pg, item->seq = seq; if (val_len) - memcpy(item->val, val, val_len); + memcpy(&item->val[0], val, val_len); update_pg_max_seq(pg, item); @@ -1996,7 +1996,7 @@ int scoutfs_item_update(struct super_block *sb, struct scoutfs_key *key, if (val_len <= found->val_len) { if (val_len) - memcpy(found->val, val, val_len); + memcpy(&found->val[0], val, val_len); if (val_len < found->val_len) pg->erased_bytes += item_val_bytes(found->val_len) - item_val_bytes(val_len); @@ -2313,7 +2313,7 @@ int scoutfs_item_write_dirty(struct super_block *sb) lst->seq = item->seq; lst->flags = item->deletion ? SCOUTFS_ITEM_FLAG_DELETION : 0; lst->val_len = item->val_len; - memcpy(lst->val, item->val, item->val_len); + memcpy(&lst->val[0], item->val, item->val_len); } spin_lock(&cinf->dirty_lock); diff --git a/kmod/src/wkic.c b/kmod/src/wkic.c index b8b011c3..3109dc61 100644 --- a/kmod/src/wkic.c +++ b/kmod/src/wkic.c @@ -172,7 +172,7 @@ struct wkic_item { u64 seq; unsigned int val_len; u8 flags; - u8 val[0] __aligned(ARCH_KMALLOC_MINALIGN); /* totls have native structs */ + u8 val[] __aligned(ARCH_KMALLOC_MINALIGN); /* totls have native structs */ }; static struct wkic_item *witem_container(struct rb_node *node) @@ -764,7 +764,7 @@ static void fill_page_items(struct super_block *sb, struct wkic_page *wpage, str pg_item->val_len = witem->val_len; pg_item->flags = witem->flags; if (witem->val_len) - memcpy(pg_item->val, witem->val, witem->val_len); + memcpy(&pg_item->val[0], witem->val, witem->val_len); /* always inserting greatest item into page */ rb_link_node(&pg_item->node, parent, node);