On 06/01/23 at 06:40pm, Baoquan He wrote: > 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> Just noticed Andrew has picked this one, please ignore this. > > > > > 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