> -----Original Message----- > From: Matthew Wilcox <willy@xxxxxxxxxxxxx> > Sent: Tuesday, August 11, 2020 11:05 AM > To: Burrow, Ryan - 0553 - MITLL <Ryan.Burrow@xxxxxxxxxx> > Cc: linux-fsdevel@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] Bug fix to ELF Loader which rejects valid ELFs > > On Tue, Aug 11, 2020 at 02:44:08PM +0000, Burrow, Ryan - 0553 - MITLL wrote: > > /* Sanity check the number of program headers... */ > > - /* ...and their total size. */ > > - size = sizeof(struct elf_phdr) * elf_ex->e_phnum; > > - if (size == 0 || size > 65536 || size > ELF_MIN_ALIGN) > > + if (elf_ex->e_phnum == 0 || elf_ex->phnum > 65535) > > umm, did you compile-test this? > My apologies, I had made these edits in the context of other changes which I didn't want to include in this patch - I replicated these changes individually and (mistakenly) assumed I had done so correctly. > assuming you meant e_phnum, it's a 16-bit quantity, so it can't be bigger > than 65535. > > > goto out; > > > > + size = sizeof(struct elf_phdr) * elf_ex->e_phnum; > > use array_size() here? > That's a good catch - I had really just moved the previous allocation of size down to after the check, but I'll use array_size instead. Just to confirm the correct process, should I do an inline response with the updated commit, or submit a new patch email?
Attachment:
smime.p7s
Description: S/MIME cryptographic signature