summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/bcachefs/disk_groups.c3
-rw-r--r--fs/bcachefs/super_types.h2
2 files changed, 2 insertions, 3 deletions
diff --git a/fs/bcachefs/disk_groups.c b/fs/bcachefs/disk_groups.c
index 43aad8ba8cc9..3c8aa69b67ea 100644
--- a/fs/bcachefs/disk_groups.c
+++ b/fs/bcachefs/disk_groups.c
@@ -163,8 +163,7 @@ int bch2_sb_disk_groups_to_cpu(struct bch_fs *c)
if (!groups)
return 0;
- cpu_g = kzalloc(sizeof(*cpu_g) +
- sizeof(cpu_g->entries[0]) * nr_groups, GFP_KERNEL);
+ cpu_g = kzalloc(struct_size(cpu_g, entries, nr_groups), GFP_KERNEL);
if (!cpu_g)
return -BCH_ERR_ENOMEM_disk_groups_to_cpu;
diff --git a/fs/bcachefs/super_types.h b/fs/bcachefs/super_types.h
index 597a8db73585..78d6138db62d 100644
--- a/fs/bcachefs/super_types.h
+++ b/fs/bcachefs/super_types.h
@@ -46,7 +46,7 @@ struct bch_disk_group_cpu {
struct bch_disk_groups_cpu {
struct rcu_head rcu;
unsigned nr;
- struct bch_disk_group_cpu entries[];
+ struct bch_disk_group_cpu entries[] __counted_by(nr);
};
#endif /* _BCACHEFS_SUPER_TYPES_H */