Re: [PATCH 1/1] Additional strict check on ELF file. Checks segments are followed in order of 'p_vaddr ' value ascending. It fixes erorr in total_mapping_size with computation total size. This error happens if segments in ELF file are not in order.

From: Ilya Smith
Date: Tue Feb 27 2018 - 07:45:45 EST


Thanks for that, I will fix it in next patch. Any other feedback?

Thanks,
Ilya

> 26 ÑÐÐÑ. 2018 Ð., Ð 20:48, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> ÐÐÐÐÑÐÐ(Ð):
>
> On 02/26/2018 07:46 AM, Ilya Smith wrote:
>> Signed-off-by: Ilya Smith <blackzert@xxxxxxxxx>
>> ---
>> fs/binfmt_elf.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 51 insertions(+)
>>
>> diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
>> index bdb201230bae..970b42044240 100644
>> --- a/fs/binfmt_elf.c
>> +++ b/fs/binfmt_elf.c
>> @@ -524,6 +524,52 @@ static inline int arch_check_elf(struct elfhdr *ehdr, bool has_interp,
>>
>> #endif /* !CONFIG_ARCH_BINFMT_ELF_STATE */
>>
>> +/**
>> + * elf_check_phdr() - common check ELF program header.
>> + * @phdr: The program header to check
>> + * @phdr_num: Count of program headers in @phdr from elf header.
>> + *
>> + * Checks ELF binary meets specification.
>> + *
>> + * Return: Zero to proceed with ELF load, non-zero to faile the ELF load
>
> fail
>
>> + * with that return code.
>> + */
>> +static int elf_check_phdr(struct elf_phdr *phdr, unsigned long phdr_num)
>> +{
>
> And it would be nicer/better to have all of the "intro" text in the body of this
> message instead of in another email.
>
> thanks,
> --
> ~Randy