On Mon, May 22, 2023 at 2:21 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > Replace old-style 1-element array of "dev" in struct stripe_head with > modern C99 flexible array. In the future, we can additionally annotate > it with the run-time size, found in the "disks" member. > > Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> > Cc: linux-raid@xxxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> > --- > It looks like this memory calculation: > > memory = conf->min_nr_stripes * (sizeof(struct stripe_head) + > max_disks * ((sizeof(struct bio) + PAGE_SIZE))) / 1024; > > ... was already buggy (i.e. it included the single "dev" bytes in the > result). However, I'm not entirely sure if that is the right analysis, > since "dev" is not related to struct bio nor PAGE_SIZE? > > v1: https://lore.kernel.org/all/20230517233313.never.130-kees@xxxxxxxxxx/ > v2: use new struct_size_t() helper from > https://lore.kernel.org/lkml/20230522211810.never.421-kees@xxxxxxxxxx/ LTGM. Thanks! I will hold this for a while until struct_size_t() merged. Song