Re: [PATCH] give elf_check_arch() a chance for checking endian mismatch

From: Valdis . Kletnieks
Date: Sun Mar 23 2008 - 01:06:21 EST


On Thu, 20 Mar 2008 03:03:30 +0800, Roy Lee said:

(Sorry for late reply, catching up finally)

> I'd like to warn for endianess mismatch, or unsupported feature( hardware
> float point support) when loading an ELF file.

> - if (loc->elf_ex.e_type != ET_EXEC && loc->elf_ex.e_type != ET_DYN)
> - goto out;
> if (!elf_check_arch(&loc->elf_ex))
> goto out;
> + if (loc->elf_ex.e_type != ET_EXEC && loc->elf_ex.e_type != ET_DYN)
> + goto out;

It would seem to me that if it isn't an ET_EXEC or ET_DYN, the question of
whether it passes elf_check_arch() would be rather moot? In any case, you
don't get to actually *warn* for it, because you end up with a 'goto out'
in either case, and elf_check_arch is a pretty small macro on most archs.

Also, if you change the order there, do you want to also change the order
in load_elf_interp(), where the equivalent test is done?

Attachment: pgp00000.pgp
Description: PGP signature