One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example: struct ubifs_znode { ... struct ubifs_zbranch zbranch[]; }; Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes. So, replace the following form: sizeof(struct ubifs_znode) + c->fanout * sizeof(struct ubifs_zbranch) with: struct_size(c->cnext, zbranch, c->fanout) This code was detected with the help of Coccinelle. Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> --- fs/ubifs/super.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 2706f13e3eb9..ca86489048c8 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c @@ -661,8 +661,7 @@ static int init_constants_sb(struct ubifs_info *c) long long tmp64; c->main_bytes = (long long)c->main_lebs * c->leb_size; - c->max_znode_sz = sizeof(struct ubifs_znode) + - c->fanout * sizeof(struct ubifs_zbranch); + c->max_znode_sz = struct_size(c->cnext, zbranch, c->fanout); tmp = ubifs_idx_node_sz(c, 1); c->ranges[UBIFS_IDX_NODE].min_len = tmp; -- 2.23.0 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/