On 05/25/23 at 04:26pm, Simon Horman wrote: > Avoid calculating array size twice in kexec_purgatory_setup_sechdrs(). > Once using array_size(), and once open-coded. > > Flagged by Coccinelle: > > .../kexec_file.c:881:8-25: WARNING: array_size is already used (line 877) to compute the same size Amazingly smart. Thanks. Acked-by: Baoquan He <bhe@xxxxxxxxxx> > > No functional change intended. > Compile tested only. > > Signed-off-by: Simon Horman <horms@xxxxxxxxxx> > --- > kernel/kexec_file.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c > index f989f5f1933b..3f5677679744 100644 > --- a/kernel/kexec_file.c > +++ b/kernel/kexec_file.c > @@ -867,6 +867,7 @@ static int kexec_purgatory_setup_sechdrs(struct purgatory_info *pi, > { > unsigned long bss_addr; > unsigned long offset; > + size_t sechdrs_size; > Elf_Shdr *sechdrs; > int i; > > @@ -874,11 +875,11 @@ static int kexec_purgatory_setup_sechdrs(struct purgatory_info *pi, > * The section headers in kexec_purgatory are read-only. In order to > * have them modifiable make a temporary copy. > */ > - sechdrs = vzalloc(array_size(sizeof(Elf_Shdr), pi->ehdr->e_shnum)); > + sechdrs_size = array_size(sizeof(Elf_Shdr), pi->ehdr->e_shnum); > + sechdrs = vzalloc(sechdrs_size); > if (!sechdrs) > return -ENOMEM; > - memcpy(sechdrs, (void *)pi->ehdr + pi->ehdr->e_shoff, > - pi->ehdr->e_shnum * sizeof(Elf_Shdr)); > + memcpy(sechdrs, (void *)pi->ehdr + pi->ehdr->e_shoff, sechdrs_size); > pi->sechdrs = sechdrs; > > offset = 0; > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec