Re: [PATCH v2] md/raid5: Convert stripe_head's "dev" to flexible array member
From: Kees Cook <hidden>
Date: 2023-05-30 23:00:57
Also in:
linux-hardening, lkml
From: Kees Cook <hidden>
Date: 2023-05-30 23:00:57
Also in:
linux-hardening, lkml
On Tue, May 23, 2023 at 10:43:52AM -0700, Song Liu wrote:
On Mon, May 22, 2023 at 2:21 PM Kees Cook [off-list ref] wrote:quoted
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@infradead.org> Cc: linux-raid@vger.kernel.org Signed-off-by: Kees Cook <redacted> --- 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@kernel.org/ (local) v2: use new struct_size_t() helper from https://lore.kernel.org/lkml/20230522211810.never.421-kees@kernel.org/ (local)LTGM. Thanks!
Thanks!
I will hold this for a while until struct_size_t() merged.
Since my tree will introduce struct_size_t(), I will just carry it there. -- Kees Cook